题目描述:
合唱队形是指这样的一种队形:设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 8 186 186 150 200 160 130 197 220 样例2 5 1 3 8 7 6 样例3 5 1 3 5 7 10
样例输出:
样例1 NoAnsweR! 样例2 3 样例3 5
提示:
对于50%的数据,保证有n<=20;
对于全部的数据,保证有n<=100。
时间限制: 1000ms
空间限制: 256MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a[1001],max=0,b,sum=0,sum1=0;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
if(a[i]>max){
max=a[i];
b=i;
}
}
for(int i=0;i<b;i++){
if(a[i]>a[i+1]){
sum++;
}
if(sum==1){
cout<<"NoAnsweR!";
return 0;
}
}
for(int i=b+1;i<n;i++){
if(a[i]<a[i+1]){
sum1++;
}
if(sum1==1){
cout<<"NoAnsweR!";
return 0;
}
}
cout<<b+1;
return 0;
}