Submission #1286068

#TimeUsernameProblemLanguageResultExecution timeMemory
1286068eri16Festival (IOI25_festival)C++20
0 / 100
1095 ms7136 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);
        A=A*2;
        k++;
    
    } 
    
    if (A<0)ans.pop_back();
    
    return (ans);
}
/*
int main(){
    
    vector <int> v={2,3,4,7,3,6,8,3};
    vector <int> t={1,1,1,2,1,2,1,1};
  
    vector <int> aa;
  
    aa=max_coupons(23,v,t);
    
    for (int i=0; i<aa.size(); i++){
        cout<<aa[i]<<' ';
    }
    
}
*/



#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...