제출 #1320102

#제출 시각아이디문제언어결과실행 시간메모리
1320102nicolo_010비스킷 담기 (IOI20_biscuits)C++20
42 / 100
62 ms48224 KiB
#include <bits/stdc++.h> #include "biscuits.h" using namespace std; using ll = long long; using pii = pair<int, int>; #define f first #define s second const int mX = 1e5+5; ll dp[61][mX]; vector<ll> a; ll x; ll f(int i, int w) { if (i==60) return 1; if (dp[i][w] != -1) return dp[i][w]; ll caso1 = f(i+1, (w+a[i])/2); ll caso2=0; if (w+a[i]>=x) caso2 = f(i+1, (w+a[i]-x)/2); return dp[i][w] = caso1+caso2; } ll count_tastiness(ll X, vector<ll> A) { x = X, a = A; while (a.size()<61) a.push_back(0); for (int i=0; i<60; i++) { if (a[i]>x+1) { a[i+1] += (a[i]-x)/2; a[i] -= ((a[i]-x)/2)*2; } } memset(dp, -1, sizeof(dp)); return f(0, 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...