제출 #1250044

#제출 시각아이디문제언어결과실행 시간메모리
1250044kaloyan선물 (IOI25_souvenirs)C++20
4 / 100
11 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 = (P0 - 1) - R;
            transaction(first - 1);
            transaction(first - 1);
        }
        else{
            int sum = (P0 - 1) - R;
            transaction(sum - 0.5 * sum + 1);
        }
        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...