Submission #1257462

#TimeUsernameProblemLanguageResultExecution timeMemory
1257462math_rabbit_1028선물 (IOI25_souvenirs)C++20
18 / 100
0 ms412 KiB
#include "souvenirs.h" #include <bits/stdc++.h> using namespace std; vector<long long> P; vector<int> cnt; void update(vector<int> &ls) { for (int x : ls) cnt[x]++; } void buy_souvenirs(int N, long long P0) { // pair<vector<int>, long long> res = transaction(3); P.resize(N); P[0] = P0; cnt.resize(N); // for (int i = 1; i < N; i++) { // pair<vector<int>, long long> res = transaction(P[i-1]-1); // update(res.first); // if (res.first.size() > 1 || res.second > 0) { // P[i] = P[i-1]-2; // } // else P[i] = P[i-1]-1; // } // for (int i = 1; i < N; i++) { // for (int j = cnt[i]+1; j <= i; j++) transaction(P[i]); // } pair<vector<int>, long long> res = transaction(P0-1); if (res.first.size() == 1) { P[1] = P0 - 1 - res.second; transaction(P[1]-1); transaction(P[1]-1); } else { pair<vector<int>, long long> res2 = transaction((P0-1-res.second)/2); assert(res2.first.size() == 1); } 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...