原题链接:
900C
大意:
给出一个1-n的排列的一个数列,若对 ai 满足 ai>aj(j
#include <bits/stdc++.h>
using namespace std;
#define mem(s,t) memset(s,t,sizeof(s))
#define D(v) cout<<#v<<" "<<v<<endl
#define inf 0x3f3f3f3f
#define pb push_back
const int MAXN =1e5+10;
int n,a[MAXN];
int m1[MAXN],m2[MAXN],cnt[MAXN];
int main() {
scanf("%d",&n);
mem(m1,0);
mem(m2,0);
mem(a,0);
mem(cnt,0);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
m1[i]=m1[i-1];
m2[i]=m2[i-1];
if(a[i]>m1[i]) m2[i]=m1[i],m1[i]=a[i];
else if(a[i]>m2[i]) m2[i]=a[i];
}
for(int i=1;i<=n;i++){
if(a[i]==m1[i]) cnt[m1[i]]--;
if(a[i]==m2[i]) cnt[m1[i]]++;
}
int ans=1;
for(int i=2;i<=n;i++){
if(cnt[ans]<cnt[i]) ans=i;
}
cout<<ans<<endl;
return 0;
}