- 闫晟淏 的博客
暑假七月DAY14
- @ 2025-7-28 17:16:38
错题:
C
错因:
没想到po值为0的情况。
思路:
运用集合来存数据,再从头遍历集合,每次判断是否*it!=op或op==k若是则将po设为op,跳出循环,每次op++;,循环外如果po没值则po设为op。
参考代码
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
set<ll> s;
int main(){
freopen("C.in","r",stdin);
freopen("C.out","w",stdout);
ll n,k,op=0,po=0;
cin>>n>>k;
for(ll i=0;i<n;i++){
ll x;
cin>>x;
s.insert(x);
}
for(auto it=s.begin();it!=s.end();it++){
if(*it!=op||op==k){
po=op;
break;
}
op++;
}
if(po==0) po=op;
cout<<po<<endl;
return 0;
}
THE END