Submission #1258253

#TimeUsernameProblemLanguageResultExecution timeMemory
1258253mkkkkkkkkSouvenirs (IOI25_souvenirs)C++20
39 / 100
12 ms412 KiB
#include "souvenirs.h" #include <utility> #include <vector> #include <bits/stdc++.h> using namespace std; void buy_souvenirs(int N, long long P0) { if(N==2) { transaction(P0-1); } else if(N==3) { pair<vector<int>, long long> par=transaction(P0-1); if(par.first.size()==2) transaction((P0-1-par.second)/2); else { long long br=P0-1-par.second; transaction(P0-1-par.second-1); transaction(P0-1-par.second-1); } } else { long long arr[N]={},cnt[N]={}; arr[0]=P0; long long br=P0; for(long long i=1;i<N;i++) { pair<vector<int>, long long> par=transaction(br-1); if(par.second==1 || par.first.size()==2) { arr[i]=arr[i-1]-2; } else { arr[i]=arr[i-1]-1; } br=arr[i]; for(auto it : par.first) { cnt[it]++; } } for(int i=0;i<N;i++) { for(int j=cnt[i];j<i;j++) { transaction(arr[i]); } } } }
#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...