제출 #1336377

#제출 시각아이디문제언어결과실행 시간메모리
1336377charabraga선물 (IOI25_souvenirs)C++20
0 / 100
12 ms344 KiB
#include <bits/stdc++.h>
using namespace std;

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

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

    vector<bool> discovered(N, false);
    discovered[0] = true;
    int found = 1; 

    for (int M = (int)P0 - 1; M >= 1 && found < N; --M) {
        auto res = transaction(M);            
        const vector<int>& L = res.first;
        long long R = res.second;
       

        if ((int)L.size() == 1 && R == 0) {
            int k = L[0];
            if (!discovered[k]) {
                P[k] = M;
                discovered[k] = true;
                ++found;
            }
        }
        
    }


    for (int i = 1; i < N; ++i) {
        for (int rep = 0; rep < i; ++rep) {
            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...