Submission #1250851

#TimeUsernameProblemLanguageResultExecution timeMemory
1250851JoksimKaktusSouvenirs (IOI25_souvenirs)C++20
22 / 100
12 ms412 KiB
#include "souvenirs.h"
#include <bits/stdc++.h>

using namespace std;

void buy_souvenirs(int N, long long p) {
    long long bet = p-1;
    vector<long long> bought(N);
    for(int i = N-1;i >= 1;i--){
        pair<vector<int>,long long> k;
        while(bought[N-i] < N-i){
            k = transaction(bet);
            for(int ind : k.first){
                bought[ind]++;
            }
        }
        if(i == 2){
            if(k.first.size() == 2){
                bet = (bet-k.second)/2;
            }else{
                bet = bet-k.second-1;
            }
        }else{
            bet /=2;
        }
    }
    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...