제출 #1254855

#제출 시각아이디문제언어결과실행 시간메모리
1254855AbdullahIshfaqSouvenirs (IOI25_souvenirs)C++20
100 / 100
12 ms420 KiB
#include "souvenirs.h" #include <bits/stdc++.h> using namespace std; #define ll long long ll c[100], t[100], n; void recur(long long p){ auto [l, r] = transaction(p); for (auto i : l) t[i]++; while (l.size() > 1){ if (c[l.back()]) r += c[l.back()], l.pop_back(); else recur((p - r) / l.size()); } c[l[0]] = p - r; if (c[l[0] + 1] == 0 and l[0] != n - 1) recur(c[l[0]] - 1); } void buy_souvenirs(int N, ll p) { n = N, recur(p - 1); for(int i = 1; i < n; i++) while(t[i] < i) transaction(c[i]),t[i]++; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...