Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- #define fastread() (ios_base:: sync_with_stdio(false),cin.tie(NULL));
- int main()
- {
- fastread();
- ll i,j,n,m,p,sum=0,k,t,a,b,c,l,ks,d,cnt=0,q,lk,bs,bh,jp,jo,lo;
- bool flag=true;
- cin>>n>>k;
- ll ara[n+1];
- for(i=0; i<n; i++)cin>>ara[i];
- vector<ll>v;
- set<ll,greater<ll> >s;
- map<ll,ll>mp;
- for(i=0; i<n; i++)
- {
- sum+=ara[i];
- if(sum<=k)cout<<0<<" ";
- else{
- ll cnt=0;
- ll pre=sum;
- for(auto x : s)
- {
- if(sum-mp[x]*x>k)
- {
- sum-=(mp[x]*x);
- cnt+=mp[x];
- }
- else
- {
- ll val=sum-k;
- ll ps=val/x;
- if(val%x)ps++;
- sum-=(ps*x);
- cnt+=ps;
- }
- if(sum<=k)break;
- }
- sum=pre;
- cout<<cnt<<" ";
- }
- mp[ara[i]]++;
- if(mp[ara[i]]==1)s.insert(ara[i]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement