Submission #1250080

#TimeUsernameProblemLanguageResultExecution timeMemory
1250080kaloyanSouvenirs (IOI25_souvenirs)C++20
22 / 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);
    }
    else if(N == 3)
    {
        
        pair<vector<int>, long long> p = transaction(P0 - 1);
        
        if(p.first.size() == 1)
        {
            long long first_val = (P0 - 1) - p.second;
            transaction(first_val - 1);
            transaction(first_val - 1);
        }
        else
        {
            long long total_sum = (P0 - 1) - p.second;
            transaction(total_sum / 2);
        }
    
    
    }
    else
    {
        
        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...