제출 #1306931

#제출 시각아이디문제언어결과실행 시간메모리
1306931MunkhErdene선물 (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; 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); } pre = res.first[0]; cur -= (pre == n - 2 ? 1 : 2); continue; } else{ for(;cnt[res.first[0] - 1] < tar[res.first[0] - 1]; cnt[res.first[0] - 1]++) { transaction(cur + 1); } cur -= 1; pre++; } } 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...