fork download
  1. #include <bits/stdc++.h>
  2. #define int long long
  3. using namespace std;
  4.  
  5. void solve() {
  6. int n;
  7. cin >> n;
  8. vector<int> v(n+1);
  9. for(int i=1;i<=n;i++)cin>>v[i];
  10. sort(v.begin(),v.end());
  11. vector<int> a(n+1,0);
  12. if(v[1]!=v[2]){
  13. cout<<"NO"<<endl;
  14. return;
  15. }
  16. a[v[1]]=1;
  17. int k=v[1]+1;
  18. for(int i=3;i<=n-1;i+=2){
  19. int p=v[i],q=v[i+1];
  20. if(p==q && a[p]==0){
  21. a[p]=1;
  22. continue;
  23. }
  24. else if(a[q-1]==1){
  25. p=q;
  26. a[p]=1;
  27. }
  28. else if(p==q){
  29. while(a[p]!=0 && p<=n){
  30. p++;
  31. }
  32. a[p]=1;
  33. }
  34. else{
  35. cout<<"NO"<<endl;
  36. return;
  37. }
  38.  
  39. }
  40. cout<<"YES"<<endl;
  41.  
  42. }
  43.  
  44. signed main() {
  45. int t;
  46. cin >> t;
  47. while (t--) {
  48. solve();
  49. }
  50. return 0;
  51. }
  52.  
Success #stdin #stdout 0.01s 5288KB
stdin
9
2
1 1
2
2 1
4
1 1 4 4
4
3 4 3 3
4
2 3 4 4
6
3 3 4 5 3 3
6
2 2 2 4 4 4
8
1 1 1 1 1 1 1 4
10
9 9 9 10 10 10 10 10 10 10
stdout
YES
NO
YES
YES
NO
YES
NO
YES
YES