Submission #1315939

#TimeUsernameProblemLanguageResultExecution timeMemory
1315939ezzzayFestival (IOI25_festival)C++20
5 / 100
54 ms6688 KiB
//#include "festival.h"
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define ff first
#define ss second
#define ll long long
std::vector<int> max_coupons(int A, std::vector<int> P, std::vector<int> T) {
    
    int N=P.size();
    vector<vector<pair<int,int>>> v(5);
    for(int i=0;i<N;i++){
        v[T[i]].pb({P[i],i});
    }
    for(int i=1;i<=4;i++){
        sort(v[i].begin(),v[i].end());
    }
    vector<int>ans;
    vector<int>idx={0,0,0,0,0};
    bool u=1;
    ll H=A;
    while(u){
        bool h=0;
        for(int i=4;i>=1;i--){
            if(idx[i]==v[i].size())continue;
           
            if((ll)v[i][idx[i]].ff<=H){
                H-=v[i][idx[i]].ff;
                H*=(ll)i;
                ans.pb(v[i][idx[i]].ss);
                idx[i]++;
                h=1;
                break;
            }
        }
        u=h;
    }
    return ans;
    
}
#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...