Submission #1256308

#TimeUsernameProblemLanguageResultExecution timeMemory
1256308arafatbot144Souvenirs (IOI25_souvenirs)C++20
0 / 100
12 ms400 KiB
#include "souvenirs.h" #include <vector> #include <numeric> #include <algorithm> void buy_souvenirs(int N, long long P0) { std::vector<long long> P(N); P[0] = P0; for (int i = 1; i < N; ++i) { long long low = 1; long long high = P[i - 1] - 1; long long found_price = -1; while (low <= high) { long long mid = low + (high - low) / 2; auto result = transaction(mid); std::vector<int> bought_souvenirs = result.first; bool bought_item_i = false; for (int item_type : bought_souvenirs) { if (item_type == i) { bought_item_i = true; break; } } if (bought_item_i) { found_price = mid; high = mid - 1; } else { low = mid + 1; } } P[i] = found_price; } std::vector<int> souvenirs_to_buy(N); for (int i = 1; i < N; ++i) { souvenirs_to_buy[i] = i; } for (int i = 1; i < N; ++i) { for (int j = 0; j < souvenirs_to_buy[i]; ++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...