Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define T ll rrr;cin>>rrr;for(ll w1=0;w1<rrr;w1++)
- #define cin(vec,a) for(ll i=0;i<a && cin >> vec[i];i++)
- #define cout(vec,a) for(ll i=0;i<a && cout << vec[i];i++)
- #define MOD 1000000007
- #define PI 3.14159265
- #define ceil(a, b) ((a / b) + (a % b ? 1 : 0))
- #define all(v) v.begin(),v.end()
- #define rall(v) v.rbegin(),v.rend()
- typedef long long ll;
- using namespace std;
- void sasa()
- {
- ios::sync_with_stdio(false);
- cin.tie(nullptr);
- cout.tie(nullptr);
- }
- ll n,k,counter=0,ans=0;
- vector<int>arr(10000000);
- void add(int v)
- {
- arr[v]++;
- ans++;
- if(arr[v]==1)counter=counter+v;
- }
- bool is_good()
- {
- return counter <= k;
- }
- void removee(int v)
- {
- arr[v]--;
- ans--;
- if(arr[v]==0)counter=counter-v;
- }
- void solve()
- {
- arr.resize(1000000,0);
- counter=0;
- ans=0;
- cin >> n >> k;
- vector<ll>vec(n);
- cin(vec,n);
- ll l=0,r=0,x=0,res=-1;
- while(r<n)
- {
- add(vec[r]);
- while(!is_good())
- {
- removee(vec[l]);
- l++;
- }
- r++;
- cout << ans <<"\n";
- res=max(res,ans);
- }
- cout << res << "asd\n";
- }
- int main()
- {
- sasa();
- ll t = 1;
- cin >> t;
- while (t--)
- {
- solve();
- if(!t) break;
- cout << "\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement