Submission #1278087

#TimeUsernameProblemLanguageResultExecution timeMemory
1278087SabaKharebavaFestival (IOI25_festival)C++20
32 / 100
307 ms17188 KiB
#include<bits/stdc++.h> using namespace std; vector<int> max_coupons(int a, vector<int> p, vector<int> t) { #define pb push_back int n = p.size(); vector<vector<int>> f, s; for (int i = 0; i < n; i++) { if (t[i] == 1) s.pb({p[i], i}); else f.pb({p[i], t[i], i}); } sort(f.begin(), f.end(), [&](vector<int> a, vector<int> b) { if (a[1] == b[1]) return a[0] < b[0]; else { long long A = -a[0]*a[1]*b[1] - b[0]*b[1]; long long B = -b[0]*a[1]*b[1] - a[0]*a[1]; if (A == B) return a[0] < b[0]; return A > B; } }); sort(s.begin(), s.end()); vector<int> ans; for (vector<int> v : f) { if (a < v[0]) continue; a = (a-v[0]) * v[1]; ans.pb(v[2]); } for (vector<int> v : s) { if (a < v[0]) continue; a -= v[0]; ans.pb(v[1]); } 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...