Submission #1153569

#TimeUsernameProblemLanguageResultExecution timeMemory
1153569PagodePaivaPacking Biscuits (IOI20_biscuits)C++17
12 / 100
1 ms780 KiB
#include "biscuits.h"
#include<bits/stdc++.h>

using namespace std;

long long count_tastiness(long long x, std::vector<long long> a) {
    for(long long i = 0;i < a.size();i++){
        if(a[i] > 2){
            long long t = (a[i]-1LL)/2;
            a[i] -= 2*t;
            if(i == a.size()-1LL) a.push_back(0);
            a[i+1LL] += t;
        }
    }
    long long res = 1LL;
    vector <vector <long long>> quebra;
    vector <long long> aux;
    a.push_back(0);
    for(auto x : a){
        if(x == 0){
            if(aux.empty()) continue;
            quebra.push_back(aux);
            aux.clear();
        }
        else{
            aux.push_back(x);
       }
    }
    for(auto v : quebra){
        long long res2 = 0;
        for(long long i = 0;i < v.size();i++){
            if(v[i] == 2){
                res2 += (1LL<<i);
            }
        }
        res *= (res2+(1LL<<((long long)v.size())));
    }
    return res;
}
#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...