Submission #1286489

#TimeUsernameProblemLanguageResultExecution timeMemory
1286489kaxiSouvenirs (IOI25_souvenirs)C++20
25 / 100
13 ms400 KiB
#include "souvenirs.h" #include<bits/stdc++.h> using namespace std; void buy_souvenirs(int N, long long P0) { long long curp; pair<vector<int>, long long> res; if(N == 2){ pair<vector<int>, long long> res = transaction(P0 - 1); return; } if(N == 3) { pair<vector<int>, long long> res = transaction(P0 - 1); if(res.first.size() == 1) { transaction(P0 - 2 - res.second); transaction(P0 - 2 - res.second); } else { transaction((P0 - 1 - res.second) / 2); } return; } if(P0 == N){ for(int i = 1; i < N; i++) { for(int j = 1; j <= i; j++) { pair<vector<int>, long long> res = transaction(P0 - i); } } return; } else { int cnt1 = 0; curp = P0 - 1; for (int i = 1; i <= N; i++) { for (int j = 1; j <= i; j++) { res = transaction(curp); if ((int)res.first.size() > 1) { cnt1++; curp--; } if (res.second > 0) curp--; } if (res.second > 0)curp--; } for (int i = cnt1 + 1; i <= N - 1; i++) res = transaction(curp); 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...