Submission #1256636

#TimeUsernameProblemLanguageResultExecution timeMemory
1256636medmdgSouvenirs (IOI25_souvenirs)C++20
22 / 100
13 ms412 KiB
#include "souvenirs.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; void sub1(int N, long long P0) { pair<vector<int>, long long> res = transaction(P0-1); } void sub2(int N, ll P0){ for(int i=N-1;i>0;i--){ for(int j=N;j>i;j--){ transaction(i); } } } void sub3(int N,ll P0){ vector<ll> rem(N); for(int i=0;i<N;i++){ rem[i]=i; } ll cost=P0-1; for(int i=1;i<N;i++){ pair<vector<int>, long long> res =transaction(cost); for(auto x:res.first)rem[x]--; if(res.first.size()>1||res.second)cost--; while(rem[i]){ transaction(cost); } cost--; } } void sub4(int N, long long P0) { pair<vector<int>, long long> res = transaction(P0-1); ll cost=P0-1-res.second; //cout<<"#"<<cost<<endl; if(res.first.size()>1) transaction(cost/2); else{ transaction(cost-1); transaction(cost-1); } } void buy_souvenirs(int N, long long P0) { if(N==3)sub4(N,P0); else if(N==2) sub1(N,P0); else sub3(N,P0); 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...