제출 #747792

#제출 시각아이디문제언어결과실행 시간메모리
747792Rafi22비스킷 담기 (IOI20_biscuits)C++14
0 / 100
1113 ms788372 KiB
#include <bits/stdc++.h>

using namespace std;

#define endl '\n'
#define st first
#define nd second
#define pb push_back
#define sz(x) (int)(x).size()
#define all(x) (x).begin(), (x).end()
#define ll long long
ll mod=1000000007;
int inf=1000000007;
ll infl=1000000000000000007;

ll P[67];

ll count_tastiness(ll x, vector<ll>w)
{
    int k=sz(w);
    P[0]=w[0];
    for(int i=1;i<60;i++)
    {
        P[i]=P[i-1];
        if(i<k) P[i]+=w[i]*(1LL<<i);
    }
    vector<ll>V;
    V.pb(0);
    for(int i=0;i<60;i++)
    {
        vector<ll>nV;
        for(auto a:V)
        {
            ll c=(a+(1LL<<i))*x;
            if(c/x!=(a+(1LL<<i))) break;
            ll q=P[i]-(a+(1LL<<i))*x;
            if(q<0) break;
            nV.pb(a+(1LL<<i));
        }
        for(auto z:nV) V.pb(z);
    }
    return sz(V);
}

/*int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int tt;
    cin>>tt;
    while(tt--)
    {
        int n;
        ll x;
        cin>>n>>x;
        vector<ll>a(n);
        for(int i=0;i<n;i++) cin>>a[i];
        cout<<count_tastiness(x,a)<<endl;
    }

    return 0;
}*/

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...