fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define int long long int
  4. #define pb emplace_back
  5. #define run ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);cerr.tie(0);
  6. #define endl "\n"
  7.  
  8. signed main()
  9. {
  10.  
  11.  
  12. run;
  13.  
  14. int t=1;
  15. cin>>t;
  16. while(t--)
  17. {
  18.  
  19.  
  20. int n,i,j,k;
  21.  
  22.  
  23. cin>>n>>k;
  24.  
  25.  
  26.  
  27.  
  28.  
  29. vector<int>a(n,0),v;
  30.  
  31.  
  32. for(i=0;i<n;i++)
  33. cin>>a[i];
  34.  
  35. set<int>ss;
  36. map<int,int>mm;
  37.  
  38. for(i=0;i<k;i++)
  39. {
  40. ss.insert(a[i]);
  41. mm[a[i]]++;
  42. }
  43. cout<<ss.size()<<" ";
  44.  
  45. i=1;
  46. j=k;
  47.  
  48.  
  49. while(1)
  50. {
  51.  
  52. if(j>=n)
  53. break;
  54.  
  55. mm[a[i-1]]--;
  56.  
  57. if(mm[a[i-1]]==0)
  58. {
  59. ss.erase(ss.find(a[i-1]));
  60. }
  61.  
  62. mm[a[j]]++;
  63. ss.insert(a[j]);
  64. j++;
  65. i++;
  66.  
  67. cout<<ss.size()<<" ";
  68.  
  69.  
  70. }
  71.  
  72. cout<<endl;
  73.  
  74.  
  75.  
  76.  
  77. }
  78. }
Success #stdin #stdout 0s 4916KB
stdin
1
7 4
1 2 1 3 4 2 3
stdout
3 4 4 3