Submission #1257556

#TimeUsernameProblemLanguageResultExecution timeMemory
1257556Canuc80kSouvenirs (IOI25_souvenirs)C++20
21 / 100
12 ms412 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

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

ll res[101];

void buy_souvenirs(int n, long long p) {
    ll t = n - 1;
    res[0] = p;
    for (int i = 1; i <= n - 2; i ++) {
        auto [v, x] = transaction(res[i - 1] - 1);
        if (v.size() == 1) {res[i] = res[i - 1] - 1 - x;}
        else {t --; res[i] = res[i - 1] - 2;}
        
        // cout << "Turn: " << i << ' ' << x << endl;
        for (int j = 1; j < i; j ++) transaction(res[i]);
    }

    if (t != n - 1) for (int i = 1; i <= t; i ++) transaction(1);
    else{
        for (int i = 1; i <= n - 1; i ++) transaction(res[n - 2] - 1);
    } 

    // cout << "Res: ";
    // for (int i = 0; i < n; i ++) cout << res[i] << ' ';
    // cout << endl;
}
#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...