Submission #1306921

#TimeUsernameProblemLanguageResultExecution timeMemory
1306921MunkhErdeneSouvenirs (IOI25_souvenirs)C++17
0 / 100
13 ms332 KiB
#include "souvenirs.h" #include <utility> #include <vector> #include <bits/stdc++.h> using namespace std; using ll = long long; void buy_souvenirs(int N, long long P0) { ll n = N; ll p0 = P0; vector<ll> tar(n), cnt(n, 0); iota(tar.begin(), tar.end(), 0); ll pre = 0; ll cur = p0 - 2; while(cur >= 0){ if(pre == n - 1) break; if(pre != n - 1 && cur == 0) cur = 1; auto res = transaction(cur); cnt[res.first[0]]++; if(res.first[0] == pre + 1) { for(;cnt[res.first[0]] <= tar[res.first[0]]; cnt[res.first[0]]++) { transaction(cur); } cur -= 2; pre = res.first[0]; continue; } else{ for(;cnt[res.first[0] - 1] <= tar[res.first[0] - 1]; cnt[res.first[0] - 1]++) { transaction(cur + 1); } cur -= 1; pre = res.first[0] - 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...