Educational Codeforces Round 24 D. Multicolored Cars(思维)
程序员文章站
2022-06-04 18:51:19
...
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e6+1;
vector<int>pos[maxn],temp;
int n,A,a[maxn],cnt[maxn],num[maxn],ans[maxn],sum;
int main()
{
scanf("%d%d",&n,&A);
for(int i=1;i<=n;++i)
{
cnt[i]=cnt[i-1];
scanf("%d",&a[i]);
if(a[i]==A) cnt[i]++,sum++,temp.push_back(i);
pos[a[i]].push_back(i);
}
for(int i=1;i<maxn;++i)
{
int size=pos[i].size();
if(i==A||size==0||size<sum) continue;
for(int j:temp)
{
int now=pos[i][num[i]++];
//cout<<i<<" "<<now<<endl;
if(now<j) ans[i]++;
}
if(ans[i]==sum) {
printf("%d\n",i);return 0;
}
}
printf("-1\n");
}
上一篇: MongoDB聚合分组取第一条记录的案例与实现方法
下一篇: 蜂蜜怎么吃对身体好 蜂蜜健康吃法介绍