Submission #1286069

#TimeUsernameProblemLanguageResultExecution timeMemory
1286069eri16Festival (IOI25_festival)C++20
5 / 100
1095 ms7128 KiB
#include <bits/stdc++.h>
//#include "festival.h"
using namespace std;

vector<int> max_coupons(int A,vector<int> P,vector <int> T){
     
    vector <pair<int,int>> vp1;
    vector <pair<int,int>> vp2;
    
    for (int i=0; i<P.size(); i++){
        if (T[i]==1)vp1.push_back({P[i],i});
    }
    for (int i=0; i<P.size(); i++){
        if (T[i]==2)vp2.push_back({P[i],i});
    }    
    
    sort(vp1.begin(),vp1.end());
    sort(vp2.begin(),vp2.end());
    
    vector <int> ans;
    
    int k=0;
    
    while (A>=0 && k<vp2.size()){
        
        A=A-vp2[k].first;
        if (A>=0){
        ans.push_back(vp2[k].second);
        A=A*2;
        k++;}
        else{
        A=A+vp2[k].first;
        }
    
    }
    k=0;
    while (A>=0 && k<vp1.size()){
        
        A=A-vp1[k].first;
        ans.push_back(vp1[k].second);
        k++;
    
    } 
    
    if (A<0)ans.pop_back();
    
    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...