제출 #1255969

#제출 시각아이디문제언어결과실행 시간메모리
1255969farhan11679축제 (IOI25_festival)C++20
0 / 100
103 ms15908 KiB
#include <bits/stdc++.h> using namespace std; vector<int> max_coupons(int A, vector<int> P, vector<int> T) { int N = P.size(); vector<int> result; vector<bool> used(N, false); priority_queue<pair<long long,int>, vector<pair<long long,int>>, greater<>> not_affordable; priority_queue<tuple<int,long long,int>> affordable; for (int i = 0; i < N; i++) { not_affordable.push({P[i], i}); } long long tokens = A; while (true) { while (!not_affordable.empty() && not_affordable.top().first <= tokens) { int idx = not_affordable.top().second; not_affordable.pop(); affordable.push({T[idx], -P[idx], idx}); } if (affordable.empty()) break; auto [t, negp, idx] = affordable.top(); affordable.pop(); if (used[idx]) continue; used[idx] = true; tokens = (tokens - P[idx]) * T[idx]; result.push_back(idx); } return result; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...