#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;
    for (int i = 0; i < n; i++) {
        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;
        }
    });
    vector<int> ans;
    for (vector<int> v : f) {
        if (a < v[0])
            continue;
        a = (a-v[0]) * v[1];
        ans.pb(v[2]);
    }
    return ans;
}
| # | 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... |