Cod sursa(job #2707978)

Utilizator RaduNRadu Negovan RaduN Data 18 februarie 2021 08:43:36
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int suma[4000001];
int main() {
    int n, maxw, e, c, i, j;
    f>>n>>maxw;
    for (i=1; i<=maxw; i++) {
        suma[i]=100000000;
    }
    for (i=1; i<=n; i++) {
        f>>e>>c;
        for (j=maxw-1; j>=1; j--) {
            if (e+j>maxw) {
                if (c+suma[j]<suma[maxw]) {
                    suma[maxw]=c+suma[j];
                }
            } else {
                if (c+suma[j]<suma[j+e]) {
                    suma[j+e]=c+suma[j];
                }
            }
        }
        if (c<suma[e]) {
            suma[e]=c;
        }
    }
    if (suma[maxw]==100000000) {
        g<<-1;
    } else {
        g<<suma[maxw];
    }
    return 0;
}