#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<int> max_coupons(int A, vector<int> P, vector<int> T){
vector<array<ll, 3>> v;
int n = P.size();
for(int i = 0; i < n; i++){
v.push_back({P[i], T[i], i});
}
vector<int> R;
while(!v.empty()){
sort(v.begin(), v.end(), [A](array<ll, 3> &F, array<ll, 3> &S){
ll a = F[0], at = F[1], b = S[0], bt = S[1];
ll x = (((A - a) * at) - b) * bt;
ll y = (((A - b) * bt) - a) * at;
if(A < a) x = -5e18;
if(A < b) y = -5e18;
if(at == bt) return a > b;
return x < y;
});
if(v.back()[0] < 1 || A < v.back()[0]) break;
A = (A - v.back()[0]) * v.back()[1];
R.push_back(v.back()[2]);
v.pop_back();
}
return R;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |