Submission #1319252

#TimeUsernameProblemLanguageResultExecution timeMemory
1319252nikaa123비스킷 담기 (IOI20_biscuits)C++20
0 / 100
3 ms332 KiB
#include <bits/stdc++.h> using namespace std; long long p[65]; map <pair<int,long long>, long long> m; long long s[65]; long long g(int i, long long n, long long x) { if (i < 0) return 1; if (n <= 0) return 0; if (m.count({i,n})) return m[{i,n}]; long long res = g(i-1, min(n,p[i]), x); long long lim = min(n,s[i]/x+1); if (lim > p[i]) res += g(i-1, lim-p[i], x); return m[{i,n}] = res; } long long count_tastiness(long long x, std::vector<long long> a) { int k = a.size(); long long res = 1; long long cur = 0; m.clear(); for (int i = 0; i < 61; i++) { cur += a[i] * res; s[i] = cur; p[i] = res; res *= 2; } return g(60,1e9,x); }
#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...