fork(2) download
  1. #include <iostream>
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4.  
  5. int main() {
  6. // your code goes here
  7. int t;
  8. cin>>t;
  9. while(t--){
  10. int n,k;
  11. cin>>n>>k;;
  12. int a[n];
  13. for(int i=0;i<n;i++){
  14. cin>>a[i];
  15. }
  16.  
  17. int fre[n] = {0};
  18. int j =0;
  19.  
  20. int diff = 0;
  21. int maxx = 0;
  22. for(int i=0;i<n;i++) {
  23. if(k==1){
  24. break;
  25. }
  26.  
  27. fre[a[i]]++;
  28.  
  29. if( fre[a[i]] == 1) diff++;
  30. while(diff >= k) {
  31. fre[a[j]]--;
  32. if( fre[a[j]] == 0){
  33. diff--;
  34. }
  35. j++;
  36. }
  37.  
  38. maxx = max(i-j+1,maxx);
  39. }
  40.  
  41. cout<<maxx<<endl;
  42. }
  43. return 0;
  44. }
Success #stdin #stdout 0s 4332KB
stdin
2
6 2
1 1 1 2 2 1
5 3
1 1 2 2 1
stdout
3
5