fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int t;
  6. cin>>t;
  7. while(t--){
  8. int n,m,k;
  9. cin>>n>>m>>k;
  10.  
  11. vector<int> v(n);
  12. map<int,int> p;
  13. int max_ele=0;
  14. for (int i=0;i<n;i++){
  15. cin>>v[i];
  16. max_ele=max(v[i],max_ele);
  17. p[v[i]]++;
  18. }
  19. int mini=k,f=1;
  20. int j=0;
  21. while(m>0 && mini==k && j<=max_ele){
  22. if (p.find(j)==p.end() && j<mini){
  23. cout<<"NO"<<endl;
  24. f=0;
  25. break;
  26. }
  27. if (j==mini){j++;continue;}
  28. m-=p[j];
  29. j++;
  30. }
  31. if (m<=0 && f==1 && j>=mini ){cout<<"YES"<<endl;}
  32. else if (f==1){cout<<"NO"<<endl;}
  33.  
  34.  
  35. }
  36. }
Success #stdin #stdout 0.01s 5316KB
stdin
6
5 4 2
0 1 3 0 3
2 1 2
0 1
3 3 3
0 1 2
4 3 3
2 0 4 3
5 4 2
0 2 1 2 5
6 5 2
0 1 0 2 0 3
stdout
YES
NO
YES
NO
NO
YES