Ciao a tutti, è la prima volta che scrivo su questo forum!
Ho provato a risolvere il problema laurea della gara Luiss ma ho ottenuto solamente 60/100:
Non riesco a capire come fare per raggiungere 100/100, anche perché da questo CMS non posso vedere gli input dei testcases. Il codice che ho usato è:
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
struct Mezzo {
int posti, numero, prezzo;
};
int main(){
ifstream in("input.txt");
ofstream out("output.txt");
int N, totmezzi = 0;
in >> N; //persone n.
Mezzo mezzi[4];
vector <int> prezzi;
mezzi[0].posti = 2;
mezzi[1].posti = 4;
mezzi[2].posti = 5;
mezzi[3].posti = 7;
for(int i=0; i<4; i++){
in >> mezzi[i].numero >> mezzi[i].prezzo;
totmezzi += mezzi[i].numero;
}
for(int a=0; a<=mezzi[0].numero; a++)
for(int b=0; b<=mezzi[1].numero; b++)
for(int c=0; c<=mezzi[2].numero; c++)
for(int d=0; d<=mezzi[3].numero; d++){
int persone = a*mezzi[a].posti + b*mezzi[b].posti + c*mezzi[c].posti + d*mezzi[d].posti;
if(persone >= N){
int costo = a*mezzi[a].prezzo + b*mezzi[b].prezzo + c*mezzi[c].prezzo + d*mezzi[d].prezzo;
prezzi.push_back(costo);
}
}
sort(prezzi.begin(), prezzi.end());
out << prezzi[0];
}
Consigli? Grazie!