宁波市工程学院 OJ [1292] Jokes 一堆数中对每个数与前k个重复的数字的个数
宁波工程学院 OJ [1292] Jokes 一堆数中对每个数与前k个重复的数字的个数[1292] Jokes时间限制: 1000 ms
宁波工程学院 OJ [1292] Jokes 一堆数中对每个数与前k个重复的数字的个数
- [1292] Jokes
- 时间限制: 1000 ms 内存限制: 6000 K
- #include<stdio.h> #include<set> #include<vector> using namespace std;multiset<int>sset; multiset<int>::iterator it; vector<int>que;int getval(){ int ret(0); char c; while((c=getchar())==' '||c=='\n'||c=='\r'); ret=c-'0'; while((c=getchar())!=' '&&c!='\n'&&c!='\r') ret=ret*10+c-'0'; return ret;}int main(){int i,k,j,n,m,num,sum,ans,h;while(scanf("%d %d",&k,&h)!=EOF){//que.clear();//sset.clear(); h--;ans=k;for(i=1;i<=k;i++){num=getval();if(sset.find(num)!=sset.end())ans--;sset.insert(num);que.push_back(num);if(i>h){ num=que[i-h]; it=sset.find(num); sset.erase(it);}}printf("%d\n",ans);}return 0;}