Submission #1278222

#TimeUsernameProblemLanguageResultExecution timeMemory
1278222SabaKharebavaFestival (IOI25_festival)C++20
32 / 100
81 ms9704 KiB
#include<bits/stdc++.h> using namespace std; #define pb push_back const long long MOD = 9223372036854775807; vector<int> max_coupons(int ra, vector<int> p, vector<int> t) { int n = p.size(); long long a = ra; vector<int> order; for (int i = 0; i < n; i++) order.pb(i); sort(order.begin(), order.end(), [&](int i, int j) { if (t[i] == t[j]) { return p[i] < p[j]; } else { long long A = -p[i]*t[i]*t[j] - p[j]*t[j]; long long B = -p[j]*t[i]*t[j] - p[i]*t[i]; if (A == B) return p[i] < p[j]; return A > B; } }); vector<int> ans, q; int ind = 0; for (int e : order) { while (ind != q.size() and a > p[q[ind]]) { a = ((a-p[q[ind]]) * t[q[ind]]) % MOD; ans.pb(q[ind]); ind++; } if (a >= p[e]) { ans.pb(e); a = ((a-p[e]) * t[e]) % MOD; } else { q.pb(e); } } /* cout<< "\nORDER :\n\t"; for (int e : order) { cout<< e << ' '; } cout<< '\n'; */ 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...