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;
}
}
}
}
}