Codeforces Round #677 (Div. 3)
C-Dominant Piranha
分析:这题当时做的时候觉得很难,后来白天一想其实很简单,只要保证所有鱼不是等大的,那么一定可以找出一条最大的作为答案,遍历即可
#include<bits/stdc++.h>
using namespace std;
int t;
int a[1000005];
int main()
{
cin>>t;
while(t--){
int n;
cin>>n;
int flag = 0;
for(int i = 1; i <= n; i++){
cin>>a[i];
}
int temp = a[1],cnt = 0;
for(int i = 1; i <= n; i++){
if(a[i]==a[1]){
cnt++;
}
}
if(cnt == n){
cout<<"-1"<<endl;
continue;
}
else{
int maxn = 0;
for(int i = 1; i <= n; i++){
maxn = max(maxn,a[i]);
}
for(int i = 1; i <= n; i++){
if(i==1&&a[i]==maxn&&a[i]>a[i+1]){
cout<<i<<endl;
break;
}
else if(i==n&&a[i]==maxn&&a[i]>a[i-1]){
cout<<i<<endl;
break;
}
else if(i!=1&&i!=n&&a[i]==maxn&&(a[i]>a[i-1]||a[i]>a[i+1])){
cout<<i<<endl;
break;
}
}
}
}
}