Submission #1250792

#TimeUsernameProblemLanguageResultExecution timeMemory
1250792flashmt선물 (IOI25_souvenirs)C++20
22 / 100
0 ms412 KiB
#include "souvenirs.h" #include <bits/stdc++.h> #ifdef LOCAL #include "Debug.h" #else #define debug(...) 42 #endif using namespace std; pair<vector<int>, long long> buy(long long coins) { auto [ids, rem] = transaction(coins); return {ids, coins - rem}; } void buy_souvenirs(int n, long long p0) { if (n == 2) { buy(p0 - 1); return; } if (n == 3) { auto [ids, cost] = buy(p0 - 1); if (size(ids) == 2) buy(cost / 2); else { buy(cost - 1); buy(cost - 1); } return; } vector<long long> p(n); vector<int> bought(n); p[0] = p0; for (int i = 1; i < n; i++) { int maxCost = p[i] - (p[i] + 2) / 3; auto [ids, cost] = buy(maxCost); if (ids != vector{i}) return; p[i] = cost; for (int j = 0; j < i - 1; j++) buy(cost); } }
#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...