# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1278414 | dang_minh_duc | 선물 (IOI25_souvenirs) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
#include "souvenirs.h"
using namespace std;
void buy_souvenirs(int n, long long P0) {
vector<int>cnt(n, 0)
vector<long long>p(n, 0);
for (int i=1;i<n;i++) cnt[i]=i;
p[0]=P0;
for (int i=0;i<n-1;i++) {
auto [l, u]=transaction(p[i]-1);
if (l.size()==1) {
p[i+1]=p[i]-1-u;
}
else p[i+1]=p[i]-2;
for (int x:l) cnt[x]--;
}
for (int i=1;i<n;i++) {
for (int j=1;j<=cnt[i];j++) transaction(p[i]);
}
}