Submission #1275978

#TimeUsernameProblemLanguageResultExecution timeMemory
1275978sphoabinh1980Souvenirs (IOI25_souvenirs)C++20
3 / 100
13 ms336 KiB
#include "souvenirs.h" #include <vector> using namespace std; void buy_souvenirs(int N, long long P0) { vector<long long> P(N); vector<int> bought_count(N, 0); // Đếm số món đã mua (kể cả trong khám phá) P[0] = P0; // Bước 1: Khám phá P[1..N-1] và ĐỒNG THỜI đếm số món đã mua for (int i = N - 1; i >= 1; --i) { for (long long M = 1; M < P0; ++M) { auto res = transaction(M); const vector<int>& types = res.first; // Cập nhật số lượng đã mua for (int t : types) { bought_count[t]++; } // Kiểm tra xem loại i có được mua trong giao dịch này không bool bought_i = false; for (int t : types) { if (t == i) { bought_i = true; break; } } if (bought_i) { P[i] = M; break; } } } // Bước 2: Mua đủ số lượng còn thiếu for (int i = 1; i < N; ++i) { int need = i - bought_count[i]; // Cần mua thêm bao nhiêu for (int j = 0; j < need; ++j) { 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...