合唱队形-题解

描述

合唱队形是指这样的一种队形:设N位同学从左到右依次编号为1,2…,N,他们的身高分别为T1,T2,…,Tn

则他们的身高满足T1< T2< … < Ti> Ti+1> … > Tn( 1<=i<=n ),(先 递增再递减 或者 单调递增 或者 单调递减 都是可以的)。

你的任务是,已知所有N位同学的身高,求出是否有这样的 i 满足合唱队形的条件。

注意:顺序不能改变

输入描述

第一行是一个整数N ( 2<=N<=100 ) ,表示同学的总数。

下一行有n个整数,用空格分隔,第i个整数Ti ( 130<=Ti<=230 )是第i位同学的身高(厘米)。

输出描述

输出包括一行,这一行只包含一个整数,就是一个满足合唱队形的 i。如果没有这样的就输出“NoAnsweR!”

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <vector>
using namespace std;

int main() {
int n;
cin >> n;
vector<int> in(n);
for (int i = 0; i < n; i++) {
cin >> in[i];
}
for (int i = 0; i < n; i++) {
bool a = true;
bool b = true;
for (int j = 0; j < i; j++) {
if (in[j] >= in[j + 1]) {
a = false;
break;
}
}
for (int j = i; j < n - 1; j++) {
if (in[j] <= in[j + 1]) {
b = false;
break;
}
}
if (a && b) {
cout << i + 1;
return 0;
}
}
cout << "NoAnsweR!";
return 0;
}

合唱队形-题解
https://chenxi-tijie.pages.dev/2025/07/合唱队形-题解/
作者
chenxi
发布于
2025年7月4日
许可协议