Submission #1281910

#TimeUsernameProblemLanguageResultExecution timeMemory
1281910nikakh축제 (IOI25_festival)C++20
0 / 100
49 ms8124 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

bool cmp(array<ll, 3> &F, array<ll, 3> &S){
    ll a = F[0], at = F[1];
    ll b = S[0], bt = S[1];
    ll x = bt * (a * at + b);
    ll y = at * (b * bt + a);
    if(x != y) return x > y;
    return F[2] < S[2];
}

vector<int> max_coupons(int A, vector<int> P, vector<int> T){
    int n = (int)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(), cmp);
    vector<int> R;
    for(int i = 0; i < n; i++){
        if(A < a[i][0]) break;
        A -= a[i][0];
        R.push_back(a[i][2]);
    }
    return R;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...