Cod sursa(job #2228895)

Utilizator YetoAdrian Tonica Yeto Data 5 august 2018 11:34:57
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
using namespace std;
pair <int, int> A[1005];
int n, E, c, e, i, j, Min=200000000, suma;
int v[10005];

int main () {
    ifstream fin ("energii.in");
    ofstream fout ("energii.out");
    fin>>n>>E;

    for (i=1;i<=n;i++) {
        fin>>A[i].first>>A[i].second;
        suma+=A[i].first;
    }

    if (suma<E) {
        fout<<-1;
        return 0;
    }

    for (i=1;i<=suma;i++) {
        v[i]=200000000;
    }

    for (i=1;i<=suma;i++) {
        e=A[i].first;
        c=A[i].second;
        for (j=suma-e;j>=0;j--) {
            if (v[j]!=200000000) {
                if (v[j+e]>v[j]+c)
                    v[j+e]=v[j]+c;
            }
        }
    }

    for (i=E;i<=suma;i++) {
        Min=min(Min, v[i]);
    }

    fout<<Min;
    return 0;
}