제출 #1320372

#제출 시각아이디문제언어결과실행 시간메모리
1320372nikaa123선물 (IOI25_souvenirs)C++20
7 / 100
12 ms332 KiB
#include <bits/stdc++.h> #include "souvenirs.h" #include <utility> #include <vector> using namespace std; long long LIM; long long p[105]; long long cnt[105]; long long last = 1000; void solve(long long x) { auto [v,res] = transaction(x); if (x == res) return; for (auto y:v) cnt[y]++; long long c = x - res; long long n = v.size(); while (n > 1) { solve(c/n); while (v.back() >= last) { n--; c -= p[v.back()]; v.pop_back(); } } p[v.back()] = c; if (c > 1 && v.back() < last+1 && v.back() < LIM) solve(c-1); last = v.back(); } void buy_souvenirs(int N, long long P0) { LIM = N-1; p[0] = P0; solve(P0-1); for (int i = 0; i < N; i++) { while (cnt[i]++ < i) transaction(p[i]); } return; }
#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...