Submission #1256361

#TimeUsernameProblemLanguageResultExecution timeMemory
1256361Canuc80kSouvenirs (IOI25_souvenirs)C++20
21 / 100
12 ms412 KiB
#include "bits/stdc++.h"
using namespace std;
using ll = long long;
using ld = long double;
using ull = unsigned long long;

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

void buy_souvenirs(int n, long long p) {
    bool have1 = 0;
    ll cnt1 = 0;

    ll val = p - 1;
    for (int i = 1; i <= n - 1; i ++) {
        if (i == n - 1 && have1) break;
        auto [v, r] = transaction(val);
        if (v.size() == 1) {
            if (r == 1) val --;
            for (int j = 1; j < i; j ++) auto [a, b] = transaction(val);
            val = val - 1;
        } else {
            have1 = 1; cnt1 ++;
            for (int j = 1; j < i; j ++) auto [a, b] = transaction(val - 1);
            val = val - 2;
        }
    }

    if (have1)
        for (int i = cnt1 + 1; i < n; i ++) auto [a, b] = transaction(1);
}
#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...