Submission #1250631

#TimeUsernameProblemLanguageResultExecution timeMemory
1250631discontinuousSouvenirs (IOI25_souvenirs)C++20
7 / 100
12 ms412 KiB
// Author: Anikait Prasar

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
#define pb push_back

pair<vector<int>, ll> transaction(ll M);

void buy_souvenirs(int n, ll p0) {
    if(n==2) {
        transaction(p0-1);
        return;
    }

    else if(n==3) {
        auto h = transaction(p0-1);
        int d = h.first.size();
        int c = h.second;

        if(d==1) {
            transaction((p0-1-c)-1);
        } 
        else if(d==2){
            int sum = p0-1-c;
            if(sum&1) {
                if(sum/2 > 0) transaction(sum/2);
            }
            else {
                transaction(sum/2);
            }
        }

        return;
    }

    int k = 1;
    for(int i = n-1; i>0; i--) {
        for(int j = 0; j<k; j++) transaction(i);
        k++;
    }
}

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