Cod sursa(job #2263542)

Utilizator eilerGabriel-Ciprian Stanciu eiler Data 18 octombrie 2018 19:28:03
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;

int g, w, eg[1000], cg[1000], dp[10000];

int main(){
    int i, j;

    ifstream  fin ("energii.in");
    fin >> g >> w;
    for (i=0; i<g; i++)
        fin >> eg[i] >> cg[i];
    fin.close();

    for (i=0; i<=w; i++)
        dp[i]=-1;
    dp[0]=0;

    int s=10000000;
    for (i=0; i<g; i++)
        for (j=w; j>=0; j--)
            if (dp[j]!=-1){
                if (eg[i]+j>=w)
                    s=min(s, dp[j]+cg[i]);
                if (eg[i]+j<=w)
                    dp[j+eg[i]]=min(dp[j+eg[i]], dp[j]+cg[i]);
            }
    if (s==10000000)
        s=-1;

    ofstream  fout ("energii.out");
    fout << s;
    fout.close();

    return 0;
}