Salve ragazzi! Ultimamente ho alcuni problemi con la sottposizione e la valutazione sulla piattaforma… Oggi in particolare sto provando a risolvere greedy santa, ma ritorna errata la subtask di esempio nr 001, che richiede output 10. Provando in locale, ottengo come risultato 10, ma il grader non ne vuole sapere. Come potrei fare a risolvere? Allego codice per ulteriori chiaramenti
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int nRegali;
int budget;
int santa[100];
int greedySanta(int nRegali){
int somma = 0;
for(int i=0; i<nRegali; i++){
for(int j=0; j<nRegali; j++){
somma = (santa[i] + santa[j]);
if(somma >= budget){
return max(somma, greedySanta(nRegali-1));
}
}
}
}
int main(){
ifstream in("input.txt");
ofstream out("output.txt");
int budgetMax;
in >> nRegali;
in >> budget;
for(int i=0; i<nRegali; i++){
in >> santa[i];
}
for(int i=0; i<nRegali; i++){
budgetMax += santa[i];
}
if(budgetMax < budget){
if(budgetMax == budget){
out << budget;
}
out << budgetMax;
} else out << greedySanta(nRegali);
}