제출 #1252409

#제출 시각아이디문제언어결과실행 시간메모리
1252409anfiSouvenirs (IOI25_souvenirs)C++20
0 / 100
12 ms412 KiB
#ifndef SOUVENIRS_H #define SOUVENIRS_H #include <vector> using namespace std; std::pair<std::vector<int>, long long> transaction(long long M); #endif //======================================================== #include "souvenirs.h" #include <bits/stdc++.h> using namespace std; static const long long INF = 1e18; static int N; static long long P0, p[105]; static int cntTrans[105]; void buy_souvenirs(int n, long long P0_input) { N = n; P0 = P0_input; p[0] = P0; memset(cntTrans, 0, sizeof(cntTrans)); for (int i = 1; i < N; ++i) { long long lo = 1; long long hi = p[i-1] - 1; while (lo < hi) { long long mid = lo + (hi - lo) / 2; auto [v, rem] = transaction(mid); bool sold_i = binary_search(v.begin(), v.end(), i); if (sold_i) { hi = mid; } else { lo = mid + 1; } } p[i] = lo; } for (int i = 1; i < N; ++i) { for (int t = 0; t < i; ++t) { 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...