Submission #1174771

#TimeUsernameProblemLanguageResultExecution timeMemory
1174771khanhphucscratchPacking Biscuits (IOI20_biscuits)C++20
100 / 100
9 ms860 KiB
#include "biscuits.h" #include<bits/stdc++.h> #define int long long using namespace std; inline bool getbit(int num, int bit) { return (num >> bit)&1; } int count_tastiness(int x, vector<int> ad) { vector<int> a; for(int i : ad) a.push_back(i); int k = 60; a.resize(k); vector<int> maxre(k); int sum = 0; for(int i = 0; i < k; i++){ sum += (a[i] << i); maxre[i] = min((1ll << (i+1)), sum / x + 1); } vector<int> dp(k); dp[0] = maxre[0]; for(int i = 1; i < k; i++){ int re = maxre[i]; for(int j = i-1; j >= 0; j--){ int batch = (1ll << (j+1)); if(re >= batch){ dp[i] += dp[j]; re -= batch; } re = min(re, maxre[j]); } dp[i] += re; } //for(int i = 0; i < 10; i++) cerr<<dp[i]<<" "<<maxre[i]<<endl; return dp[k-1]; } /*signed main() { int x, k; cin>>x>>k; vector<int> a(k); for(int i = 0; i < k; i++) cin>>a[i]; cout<<count_tastiness(x, a); } */
#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...