本文共 727 字,大约阅读时间需要 2 分钟。
这个题目时有技巧的
先举个例子
有四个数:2 3 1 1
我们会先配对2 3的话,会剩下1 1,但是如果配对2 1和3 1那么久可以不剩
所以这个题我们应该先对最多的数进行配对。
#include#include using namespace std;int t,n;int x[200005];void solve(){ int maxn = 0; int i,j; for(i = 1;i <= n;){ for(j = i + 1;j <= n;++j){ if(x[j] != x[i]){ maxn = max(maxn,j - i);i = j;break; } } if(j == n + 1){ maxn = max(maxn,j - i);break; } } if(maxn * 2 <= n) cout< >t; while(t--){ cin>>n; for(int i = 1;i <= n;++i) cin>>x[i]; sort(x + 1,x + n + 1); solve(); } return 0;}
转载地址:http://mdakk.baihongyu.com/