Submission #1261048

#TimeUsernameProblemLanguageResultExecution timeMemory
1261048alexddFestival (IOI25_festival)C++20
32 / 100
87 ms8892 KiB
#include "festival.h"
#include <bits/stdc++.h>
using namespace std;
int n,init;
long long p[200005],t[200005];
bool cmp(int i, int j)
{
    if(t[i] == 1 && t[j] == 1)
        return p[i] < p[j];
    if(t[i] == 1)
        return 0;
    if(t[j] == 1)
        return 1;
    return p[i] * t[i] * (t[j] - 1) < p[j] * t[j] * (t[i] - 1);
}
std::vector<int> max_coupons(int copA, std::vector<int> P, std::vector<int> T)
{
    long long A = copA;
    n = P.size();
    for(int i=0;i<n;i++)
    {
        p[i] = P[i];
        t[i] = T[i];
    }
    init = A;
    vector<int> ord;
    for(int i=0;i<n;i++)
        ord.push_back(i);
    sort(ord.begin(),ord.end(),cmp);
    vector<int> sol;
    for(int i:ord)
    {
        if((A - p[i]) * t[i] >= 0)
        {
            sol.push_back(i);
            A = (A - p[i]) * t[i];
        }
    }
    return sol;
}
#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...