Submission #1250844

#TimeUsernameProblemLanguageResultExecution timeMemory
1250844discontinuousSouvenirs (IOI25_souvenirs)C++20
22 / 100
1 ms412 KiB
// Author: Anikait Prasar #include <bits/stdc++.h> using namespace std; typedef long long ll; #define pb push_back pair<vector<int>, ll> transaction(ll M); void buy_souvenirs(int n, ll p0) { if(n==2) { transaction(p0-1); return; } else if(n==3) { auto h = transaction(p0-1); int d = h.first.size(); ll c = h.second; ll sum = p0-1LL-c; if(d==1) { // Here, sum is the value of // 2nd element transaction(sum-1LL); transaction(sum-1LL); } if(d==2){ transaction(sum/2LL); } return; } else { ll prev = p0; ll last = 0; for(int j = 1; j<n-1; j++) { auto h = transaction(prev-1); int d = h.first.size(); ll c = h.second; if(d==2) { // this implies c=0 last++; prev -= 2; } else { if(c==0) { prev--; } else { prev -= 2; } } } while(last < n) { transaction(prev-1); last++; } } // int k = 1; // for(ll i = n-1; i>0; i--) { // for(ll j = 0; j<k; j++) transaction(i); // k++; // } }
#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...