Submission #1251109

#TimeUsernameProblemLanguageResultExecution timeMemory
1251109aryan12Souvenirs (IOI25_souvenirs)C++20
21 / 100
11 ms400 KiB
#include "souvenirs.h" #include <utility> #include <vector> void buy_souvenirs(int N, long long P0) { if(N != 3) { long long cur = P0, last_used = 0; for(int i = 1; i < N; i++) { if(i != N - 1) { std::pair<std::vector<int>, long long> res = transaction(cur - 1); if(res.first.size() == 2 || res.second == 1) { cur = cur - 2; if(res.first.size() == 2) { last_used += 1; } } else { cur = cur - 1; } for(int j = 0; j < i - 1; j++) { transaction(cur); } } else { for(int j = last_used; j < i; j++) { transaction(cur - 1); } } } } else { std::pair<std::vector<int>, long long> res = transaction(P0 - 1); if(res.first.size() == 1) { long long val = P0 - 1 - res.second; transaction(val - 1); transaction(val - 1); } else { long long val_used = P0 - 1 - res.second; transaction(res.second + val_used / 2); } } // std::pair<std::vector<int>, long long> res = transaction(3); 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...