Submission #1249684

#TimeUsernameProblemLanguageResultExecution timeMemory
1249684_abaatarSouvenirs (IOI25_souvenirs)C++20
3 / 100
11 ms412 KiB
#include "souvenirs.h" #include <utility> #include <vector> #include <cassert> #include <algorithm> #include <numeric> #include <iostream> #include <cstring> using namespace std; const int Ma = 5e2+10; using ll = long long; int sold[111]; void buy_souvenirs(int N, long long P0) { // if (N == 2) transaction(P0-1); // else { // for (int i = N - 1; i > 0; i--) { // for (int j = i; j > 0; j--) transaction(j); // } // } for (int i = 1; i < N; i++) sold[i] = 0; ll cur = P0 - 1; for (int i = 1; i < N - 1; i++) { auto res = transaction(cur); if (res.second == 1) { // no price 1 for (int j = 0; j < i - 1; j++) { transaction(cur - 1); } cur -= 2; } else { if (res.first.size() == 1) { for (int j = 0; j < i - 1; j++) { transaction(cur); } cur -= 1; } else { sold[N - 1]++; for (int j = 0; j < i - 1; j++) { transaction(cur - 1); sold[N - 1]++; } } } } while (sold[N - 1] < N - 1) { sold[N - 1]++; transaction(1); } }
#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...