제출 #1137041

#제출 시각아이디문제언어결과실행 시간메모리
1137041SharkyPacking Biscuits (IOI20_biscuits)C++20
100 / 100
66 ms840 KiB
#include "biscuits.h" #include <bits/stdc++.h> using namespace std; #define int long long map<int, int> dp; int s[63], n; int f(int x) { if (x <= 0) return 0; if (x == 1) return 1; if (dp.count(x)) return dp[x]; int k = floor(log2l(x-1)); dp[x] = f(1LL << k) + f(min(x, s[k] / n + 1) - (1LL << k)); // cout << x << " " << (1 << k) << " " << min(x, s[k] / x + 1) dp[x] << '\n'; return dp[x]; } int count_tastiness(int x, vector<int> a) { dp.clear(); n = x; while (a.size() < 63) a.push_back(0); for (int i = 0; i < 63; i++) s[i] = (!i ? 0 : s[i-1]) + a[i] * (1LL << i); return f(s[62] + 1); }
#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...