#include "festival.h"
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int INF = 3e15;
int tk;
struct coupon{
int p, t, idx;
void apply(){
tk -= p; tk *= t;
if (tk > INF) tk = INF;
if (tk < 0) tk = -1;
}
};
bool comp(coupon &a, coupon &b){
if (a.t == 1 && b.t == 1) return a.p < b.p;
return a.p * a.t * (b.t - 1) < b.p * b.t * (a.t - 1);
}
vector<signed> max_coupons(signed A, vector<signed> P, vector<signed> T) {
int n = P.size();
vector<coupon> cp(n);
for (int i=0; i<n; i++) cp[i] = {P[i], T[i], i};
sort(cp.begin(), cp.end(), comp);
vector<signed> ans(n); for (int i=0; i<n; i++) ans[i] = cp[i].idx;
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... |