Chiedo aiuto a chiunque riesca a capire perché il programma allegato (c++) non superi tutte le tasks richieste, supera solamente la subtask 1 (esempio) e 3. Credo sia un problema di variabili ma non saprei cosa cambiare
#include <iostream>
#include <vector>
#include <cmath>
#include <fstream>
using namespace std;
int main(){
ifstream cin("input.txt");
ofstream cout("output.txt");
vector <int> monete; // quante monete e banconote per ogni valuta in input
vector <int> valute {1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 50000};
vector <int> resto; // quante monete e banconote per ogni valuta come risultato
int m;
long long int tot = 0;
for (int i = 0; i < 15; i++){ // richiesta in input delle monete e banconete
cin >> m;
monete.push_back(m);
tot += monete[i]*valute[i]; // calcolo somma delle monete e banconote
}
for (int i = 14; i >= 0; i--){ // calcolo di monete e banconote minime per ogni valuta
int monete_per_valuta = floor(tot/valute[i]);
resto.push_back(monete_per_valuta);
tot -= valute[i]*monete_per_valuta;
}
for (int i = 14; i >= 0; i--){
cout << resto[i] << " "; // stampa risultato
}
}