标签:水
4 1 3 1 2 1
3Hintif WLD deletes a 3, the numbers remain is [1,1,2],he‘ll get 2 different numbers. if WLD deletes a 2, the numbers remain is [1,1,3],he‘ll get 2 different numbers. if WLD deletes a 1, the numbers remain is [1,2,3],he‘ll get 3 different numbers.
用set先放所有的不重复的,如果k小于等于n-是s.size()就输出s.size(),否则就输出s.size()-(n-k)
代码:
#include <cstdio> #include <algorithm> #include <iostream> #include <set> using namespace std; set<int > s; int main(){ int n; while(scanf("%d", &n) == 1){ s.clear(); int a; for(int i = 0;i < n; ++ i){ scanf("%d", &a); s.insert(a); } int k; scanf("%d", &k); int temp = n - s.size(); if(k <= temp){ cout << s.size()<<endl; } else{ cout << (s.size()-(k-temp))<<endl; } } return 0; }
标签:水
原文地址:http://blog.csdn.net/shengweisong/article/details/45293445