제출 #1286458

#제출 시각아이디문제언어결과실행 시간메모리
1286458aleksandre선물 (IOI25_souvenirs)C++20
25 / 100
13 ms392 KiB
#include "souvenirs.h" #include <utility> #include <vector> using namespace std; void buy_souvenirs(int N, long long P0) { if (N==2) { transaction(P0-1); } else if (N==3) { int k = 0; pair <vector<int>, long long> m = transaction(P0-1); if (int(m.first.size()) == 2) { k = 1; } if (k == 0) { transaction(P0-1-m.second-1); transaction(P0-1-m.second-1); } else { transaction((P0-1-m.second)/2); } } else if (P0==N) { for (int i = 1; i <= N-1; i++) { for (int j = 1; j <= i; j++) { transaction(N-i); } } } else { int k = 0, l = 0; for (int i = 1; i < N; i++) { pair <vector<int>, long long> m = transaction(P0-1); if (m.first.size() == 2) { k++; for (int j = 1; j <= i-1; j++) { transaction(P0-2); } P0-=2; } else { for (int j = 1; j <= i-1; j++) { transaction(P0-1); } P0--; } if (k > 0 && i == N-1) { l++; break; } } if (l) { for (int i = 1; i <= N-1-k; i++) { 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...