Codeforces Round #677 (Div. 3) C. Dominant Piranha

it2024-05-07  46

 

给出 n 个数,若 a[i] 大于 a[i-1] 或 a[i+1] 那么他可以吃掉与他相邻的比他小数,并且自身的值 +1,且被吃掉的数消失,问是否存在一个这样的数,可以将出他以外所有数吃掉 

数组中最大值的两边若存在一个比他小的即可完成过程 

const int N=3e5+5; int n,m,t; int i,j,k; int a[N]; int main() { //IOS; rush(){ sd(n); int maxx=0; for(i=1;i<=n;i++){ sd(a[i]); maxx=max(maxx,a[i]); } int flag=0; for(i=1;i<=n;i++){ if(a[i]==maxx){ if((i>=2&&a[i-1]!=maxx) || (i<=n-1&&a[i+1]!=maxx)) flag=i; } } if(flag) pd(flag); else pd(-1); } //PAUSE; return 0; }

 

最新回复(0)