Advertisement
sasa2742002

Untitled

Dec 2nd, 2021
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define T ll rrr;cin>>rrr;for(ll w1=0;w1<rrr;w1++)
  3. #define cin(vec,a) for(ll i=0;i<a && cin >> vec[i];i++)
  4. #define cout(vec,a) for(ll i=0;i<a && cout << vec[i];i++)
  5. #define MOD 1000000007
  6. #define PI 3.14159265
  7. #define ceil(a, b) ((a / b) + (a % b ? 1 : 0))
  8. #define all(v) v.begin(),v.end()
  9. #define rall(v) v.rbegin(),v.rend()
  10.  
  11. typedef long long ll;
  12. using namespace std;
  13.  
  14. void sasa()
  15. {
  16. ios::sync_with_stdio(false);
  17. cin.tie(nullptr);
  18. cout.tie(nullptr);
  19. }
  20. ll n,k,counter=0,ans=0;
  21. vector<int>arr(10000000);
  22.  
  23. void add(int v)
  24. {
  25. arr[v]++;
  26. ans++;
  27. if(arr[v]==1)counter=counter+v;
  28. }
  29. bool is_good()
  30. {
  31. return counter <= k;
  32. }
  33.  
  34. void removee(int v)
  35. {
  36. arr[v]--;
  37. ans--;
  38. if(arr[v]==0)counter=counter-v;
  39. }
  40. void solve()
  41. {
  42. arr.resize(1000000,0);
  43. counter=0;
  44. ans=0;
  45. cin >> n >> k;
  46. vector<ll>vec(n);
  47. cin(vec,n);
  48. ll l=0,r=0,x=0,res=-1;
  49. while(r<n)
  50. {
  51.  
  52. add(vec[r]);
  53.  
  54. while(!is_good())
  55. {
  56. removee(vec[l]);
  57. l++;
  58. }
  59.  
  60. r++;
  61. cout << ans <<"\n";
  62. res=max(res,ans);
  63. }
  64. cout << res << "asd\n";
  65.  
  66.  
  67. }
  68.  
  69. int main()
  70. {
  71. sasa();
  72.  
  73. ll t = 1;
  74. cin >> t;
  75. while (t--)
  76. {
  77. solve();
  78. if(!t) break;
  79. cout << "\n";
  80. }
  81.  
  82. return 0;
  83. }
  84.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement