#include "souvenirs.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n;
vector<ll> ansli, cnt;
int solve(ll ans, int e){ //end: 어디까지 아는가?
auto res = transaction(ans);
vector<int> v=res.first;
for(int j:v) cnt[j]++;
ll cost=ans-res.second;
while(v[0]<e){
if(e<=v.back()){
cost-=ansli[v.back()];
v.pop_back();
}
if(v[0]==e-1) break;
e=solve((cost-1)/(ll)v.size(),e);
}
ansli[v[0]]=cost;
return v[0];
}
void buy_souvenirs(int N, ll P0) {
n=N;
ansli.resize(n);
cnt.resize(n);
solve(P0-1,n);
for(int i=1;i<n;i++){
while(cnt[i]<i){
transaction(ansli[i]);
cnt[i]++;
}
}
return;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |