Submission #1292858

#TimeUsernameProblemLanguageResultExecution timeMemory
1292858enzyPacking Biscuits (IOI20_biscuits)C++20
9 / 100
1142 ms1215136 KiB
#include "biscuits.h" #include<bits/stdc++.h> #define ll long long using namespace std; const int maxk=62; vector<pair<ll,ll>>dp[maxk]; ll count_tastiness(ll x, vector<ll> v){ for(int i=0;i<maxk;i++) dp[i].clear(); reverse(v.begin(),v.end()); v.push_back(0); reverse(v.begin(),v.end()); while(v.size()<=61) v.push_back(0); ll resp=1; dp[0].push_back({1,0}); for(int i=1;i<=60;i++){ // calcular a resp agr pro bit i-1 //cout << "? " << v[i] << endl; for(int j=i-1;j>=0;j--){ for(pair<ll,ll>p : dp[j]){ ll sum=p.second; // qnt terei de i para pagar for(int l=j+1;l<=i;l++){ sum/=2; sum+=v[l]; } if(sum>=x){ //cout << i << " " << j << " " << sum << endl; dp[i].push_back({p.first,(sum-x)}); resp+=p.first; } } } //cout << "! " << i << " " << resp << endl; //for(pair<ll,ll> p : dp[i]) cout << p.first << " " << p.second << endl; //cout << endl; } return resp; }
#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...