제출 #1254033

#제출 시각아이디문제언어결과실행 시간메모리
1254033fve5Festival (IOI25_festival)C++20
0 / 100
24 ms4544 KiB
#include <bits/stdc++.h> #include "festival.h" using namespace std; typedef long long i64; vector<int> max_coupons(int A, vector<int> P, vector<int> T) { array<vector<int>, 5> things; for (int i = 0; i < P.size(); i++) things[T[i]].push_back(P[i]); for (auto &x: things) sort(things.begin(), things.end()); vector<i64> t1_ps = {0}; for (auto x: things[1]) t1_ps.push_back(t1_ps.back() + x); i64 rem = A; pair<int, int> best = {upper_bound(t1_ps.begin(), t1_ps.end(), A) - t1_ps.begin() - 1, 0}; for (int i = 0; i < things[2].size(); i++) { A = (A - things[2][i]) * 2; if (A < 0) break; best = max(best, {i + 1 + upper_bound(t1_ps.begin(), t1_ps.end(), A) - t1_ps.begin() - 1, i + 1}); } vector<int> ans; for (int i = 0; i < best.second; i++) ans.push_back(things[2][i]); while (ans.size() < best.first) ans.push_back(things[1][ans.size() - best.second]); return ans; }
#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...