#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
template <class T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
#define ll long long
#define rep(i,a,b) for (int i = a; i < b; i++)
#define rrep(i,a,b) for (int i = a; i >= b; i--)
void N() {cout<<"NO\n";}
void Y() {cout<<"YES\n";}
void isTrue(bool ope) {if (ope) Y();else N();}
ll pw(int x,int t) {ll res = 1;while (t--) res *= x;return res;}
int lg(int x,int b) {int res = 0;while (x >= b) {x/=b;res++;}return res;}
int MD = 1e9+7;
ll MX_VL = 1e18;
ll MX_ll = 2e9;
bool comp(array<int,3>& a,array<int,3>& b) {
    if (a[1] == b[1]) return a[0] < b[0];
    return a[0]*a[1]*(b[1]-1) < b[0]*b[1]*(a[1]-1);
}
vector<int> max_coupons(int A, vector<int> P, vector<int> T) {
    vector<array<int,3>> lst;
    int n = P.size();
    rep(i,0,n) {
        array<int,3> vv = {P[i],T[i],i};
        lst.push_back(vv);
    }
    sort(lst.begin(),lst.end(),comp);
    int i = 0;
    vector<int> ans;
    ll x = A;
    while (i < n) {
        if (lst[i][0] > x) continue;
        if (x >= 1e14) {
            rep(j,i,n) ans.push_back(lst[j][2]);
            break;
        }
        x -= lst[i][0];
        x *= lst[i][1];
        ans.push_back(lst[i][2]);
        i++;
    }
    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... |