제출 #1250061

#제출 시각아이디문제언어결과실행 시간메모리
1250061kaloyan선물 (IOI25_souvenirs)C++20
4 / 100
12 ms412 KiB
#include <bits/stdc++.h>

using namespace std;

const int MAXN = 100 + 10;

int counter[MAXN];


std::pair<std::vector<int>, long long> transaction(long long M);

void buy_souvenirs(int N, long long P0){
    
    if(N == 2) {
        transaction(P0 - 1);
        return;
    }
    
    if(N == 3){
        auto [L, R] = transaction(P0 - 1);
        
        if(L.size() == 1){
            int first_val = (P0 - 1) - R;
            transaction(first_val - 1);
            transaction(first_val - 1);
        }
        else{
            int total_sum = (P0 - 1) - R;
            transaction(total_sum - total_sum / 2);
        }
        return;
    }
    
    for(int i = 0 ; i < N ; ++i){
        while(counter[i] < i){
            transaction(N - 1);
            counter[i]++;
        }
    }

}



#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...