Submission #1258106

#TimeUsernameProblemLanguageResultExecution timeMemory
1258106chr34선물 (IOI25_souvenirs)C++20
0 / 100
0 ms412 KiB
#include <bits/stdc++.h>
using namespace std;

// Provided by the problem's grader
extern pair<vector<int>, long long> transaction(long long M);

void buy_souvenirs(int N, long long P0) {
    vector<long long> P(N);
    P[0] = P0;

    // Step 1: Find all prices
    for (int i = 1; i < N; i++) {
        // Start from just above previous price for higher guarantee
        long long M = P[i-1] - 1;
        while (true) {
            M++;
            auto res = transaction(M);
            if (!res.first.empty() && res.first[0] == i) {
                P[i] = M;
                break;
            }
        }
    }

    // Step 2: Buy souvenirs in required quantities
    for (int i = 1; i < N; i++) {
        for (int cnt = 0; cnt < i; cnt++) {
            transaction(P[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...