Submission #1249781

#TimeUsernameProblemLanguageResultExecution timeMemory
1249781thabumiSouvenirs (IOI25_souvenirs)C++20
25 / 100
11 ms412 KiB
#ifdef EVAL #include "souvenirs.h" #endif #include <bits/stdc++.h> using namespace std; #ifndef EVAL pair<vector<int>, long long> transaction(long long M); #endif void buy_souvenirs(int N, long long P0) { if (N == 2) { transaction(P0 - 1); return; } if (N == 3) { auto [v, x] = transaction(P0 - 1); if (v.size() == 2) { long long sum = P0 - 1 - x; transaction(sum / 2); } else { long long P1 = P0 - 1 - x; transaction(P1 - 1); transaction(P1 - 1); } return; } pair<vector<int>, long long> ans; int cur = 1; int cnt = 0; long long cur_q = P0 - 1; while (true) { ans = transaction(cur_q); if (!(ans.second == 0 && ans.first.size() == 1 && ans.first[0] == cur)) { break; } cnt++; if (cnt == cur) { cur++; cnt = 0; cur_q--; if (cur == N) { return; } } } } #ifndef EVAL pair<vector<int>, long long> transaction(long long M) { return {{}, M}; } #endif
#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...