#include "festival.h"
#include "bits/stdc++.h"
#define ll long long
#define pb push_back
using namespace std;
const ll inf = 1e16;
bool comp(array<ll, 3> a1, array<ll, 3> a2){
return (a2[0] * a2[1] * (a1[1] - 1) + a1[0] * a1[1] * (1 - a2[1]) > 0);
}
vector<int> max_coupons(int A, vector<int> P, vector<int> T){
int n = P.size();
vector<array<ll, 3> > a(n);
for(int i = 0; i < n; i++){
a[i] = {P[i], T[i], i};
}
sort(a.begin(), a.end(), comp);
/*
cout<<"sorted order: "<<endl;
for(auto itr: a){
cout<<itr.first<<" "<<itr.second<<endl;
}*/
//cout<<"compare: "<<comp({4, 1}, {8, 3})<<endl;
/*
for(int i = 0; i < n; i++){
for(int j = i+1; j < n; j++){
cout<<"compare : "<<a[i].first<<" "<<a[i].second<<" : "<<a[j].first<<" "<<a[j].second<<" -> "<<comp(a[i], a[j])<<endl;
}
}*/
vector<int> ans, vis(n);
ll now = A;
for(int i = 0; i < n; i++) ans.pb(a[i][2]);
return ans;
}
/*
4 13
4 1
500 3
8 3
14 4
*/
# | 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... |