# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
374783 | Jarif_Rahman | Packing Biscuits (IOI20_biscuits) | C++17 | 3 ms | 444 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "biscuits.h"
#include <bits/stdc++.h>
#define pb push_back
#define f first
#define sc second
using namespace std;
typedef long long int ll;
typedef string str;
const int kk = 200;
ll count_tastiness(ll x, vector<ll> a){
int k = a.size();
a.resize(kk, 0);
ll ans = 0, ls = 1, cur = 1;
vector<ll> cnt1(kk, 0), cnt2(kk, 0);
for(int i = 0; i < kk; i++){
if(i != 0){
cnt1[i] = cnt1[i-1];
cnt2[i] = cnt2[i-1];
}
if(a[i] == 0){
ls*=cur;
cur = 1;
cnt1[i] = 0;
cnt2[i] = 0;
continue;
}
cur = cnt1[i];
if(a[i] > 1) cur+=cnt2[i];
cur = 1LL<<cur;
ans+=cur*ls;
if(a[i]%2 == 0) cnt2[i]++;
else cnt1[i]++;
if(i != kk-1) a[i+1]+=a[i]/2;
a[i]%=2;
if(a[i+1] == 1) ls*=cur;
}
ans++;
return ans;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |