제출 #314893

#제출 시각아이디문제언어결과실행 시간메모리
314893kostia244비스킷 담기 (IOI20_biscuits)C++17
42 / 100
50 ms20736 KiB
#include "biscuits.h"
#include<bits/stdc++.h>
#define all(x) begin(x), end(x)
using namespace std;
using ll = long long;
const int B = 126, C = 10005;
ll count_tastiness(ll x, vector<ll> a) {
	ll dp[B+1][C];
	memset(dp, 0, sizeof dp);
	a.resize(B);
	for(int i = 0; i+1 < B; i++) {
		ll t = max(0ll, a[i]-x);
		t -= t&1;
		a[i] -= t;
		a[i+1] += t/2;
	}
	dp[0][0] = 1;
	for(int i = 0; i < B; i++)
		for(int r = 0; r < C; r++) {
			dp[i+1][(a[i]+r)/2] += dp[i][r];
			if(a[i]+r >= x) dp[i+1][(a[i]+r-x)/2] += dp[i][r];
		}
	return dp[B][0];
}
#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...