set的使用02
1590: 刪除數(shù)
Time Limit: 1 Sec Memory Limit: 128 MB
[Submit][Status][Web Board]
Description
zcc有n個(gè)數(shù)(a1,a2,…,an),他希望進(jìn)行k次刪除一個(gè)數(shù)的操作,使得最后剩下的n?k
個(gè)數(shù)中有最多的不同的數(shù),保證1≤n≤100,0≤k<n,0≤ai≤n.(對(duì)于任意1≤i≤n)
Input
多組數(shù)據(jù)(最多100
組)
對(duì)于每組數(shù)據(jù):
第一行:一個(gè)數(shù)n
表示數(shù)的個(gè)數(shù)
接下來一行:n
個(gè)數(shù),依次為a1,a2,…,an
接下來一行:一個(gè)數(shù)k
表示操作數(shù)
Output
對(duì)于每組數(shù)據(jù):
輸出最多剩下的不同的數(shù)的個(gè)數(shù)
Sample Input
4
1 3 1 2
1
Sample Output
3
AC代碼~:
#include <stdio.h> #include <set> using namespace std; int main() {int n;while(~scanf("%d",&n)){set<int>s;int x,m,k,S,num;for(int i = 0; i < n; i++){scanf("%d",&x);s.insert(x);}scanf("%d",&k);m = n - k;//需要保留的數(shù)字個(gè)數(shù)S = s.size();/*根據(jù)set的特性,s.size()為set中數(shù)的個(gè)數(shù)(也就是輸入數(shù)據(jù)中不同數(shù)的個(gè)數(shù))*/if( S > m)num = m;elsenum = S;printf("%d\n",num);}return 0; }總結(jié)
- 上一篇: 关于strlwr,strupr等函数在此
- 下一篇: set的使用03(较多的操作函数)