Submission #398287

# Submission time Handle Problem Language Result Execution time Memory
398287 2021-05-04T06:15:11 Z Everule Packing Biscuits (IOI20_biscuits) C++17
0 / 100
2 ms 332 KB
#include "biscuits.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long int;
long long count_tastiness(long long x, std::vector<long long> a) {
	int k = a.size();
    vector<ll> dp(k);
    vector<ll> pdp(k+1);
    vector<ll> psum(k+1);
    for(int i=1;i<=k;i++){
        psum[i] = psum[i-1] + a[i-1] * (1ll<<(i-1));
    }
    for(int i=0;i<k;i++){
        dp[i] = ((psum[i+1] / (1ll<<i) / x) != 0);
        ll sum = psum[i+1] - (1ll<<i) * x;
        ll mx = sum / x;
        mx = min(mx, (1ll<<i) - 1);
        for(int j=i-1;j>=0;--j){
            if(mx & (1ll<<j)){
                dp[i] += pdp[j] + 1;
                sum = min(psum[j+1], sum);
                sum -= (1ll<<j) * x;
                mx = sum / x;
                mx = min(mx, (1ll<<j) - 1);
            }
        }
        pdp[i+1] = pdp[i] + dp[i];
    }
    return pdp[k] + 1;
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 296 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 332 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -