제출 #1260999

#제출 시각아이디문제언어결과실행 시간메모리
1260999robijoySouvenirs (IOI25_souvenirs)C++20
3 / 100
12 ms420 KiB
/* * Starting with the name of almighty ALLAH */ #include "souvenirs.h" #include <bits/stdc++.h> using namespace std; // int N = 6; // vector<long long> P = {10, 8, 7, 5, 3, 1}; // vector<int> Q(N); // pair<vector<int>, long long> transaction(long long M) { // vector<int> L; // long long R = M; // for (int i = 0; i < N; i++) { // if (R >= P[i]) { // R -= P[i]; // Q[i]++; // L.push_back(i); // } // } // return {L, R}; // } void buy_souvenirs(int N, long long P0) { vector<long long> left(N),P(N); for(long long i = 0; i < N; ++i) left[i] = i; P[0] = P0; long long ro = 0; for (long long i = 1; i < N-1; ++i) { pair<vector<int>,long long> res = transaction(P[i-1]-1); if(res.first.size() == 1) { long long ret = res.second; P[i] = (P[i-1] - 1 - ret); left[i]--; } else { P[i] = (P[i-1] - 1 - 1); left[P[i]]--; ro++; P[N-1] = 1; } } for (long long i = 0; i < left.size()-1; ++i) { long long x = left[i]; for (long long j = 0; j < x; ++j) { transaction(P[i]); } } for (long long i = 0; i < ((N-1) - ro); ++i) { transaction(1); } } // int main() { // buy_souvenirs(6,10); // }
#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...