Cod sursa(job #1028198)

Utilizator laurageorgescuLaura Georgescu laurageorgescu Data 13 noiembrie 2013 19:28:09
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>

using namespace std;

ifstream fin("energii.in");
ofstream fout("energii.out");

const int inf= 1<<30;
const int smax= 15000;

int d[smax+1];

int main(  ) {
    for ( int i= 1; i<=smax; ++i ) {
        d[i]= inf;
    }

    int n, s;
    fin>>n>>s;
    for ( int i= 0; i<n; ++i ) {
        int e, c;
        fin>>e>>c;

        for ( int j= smax-e; j>=0; --j ) {
            if ( d[j+e]>d[j]+c ) {
                d[j+e]= d[j]+c;
            }
        }
    }

    int sol= inf;
    for ( int i= s; i<smax; ++i ) {
        if ( d[i]<sol ) {
            sol= d[i];
        }
    }
    if ( sol==inf ) {
        sol= -1;
    }
    fout<<sol<<"\n";

    return 0;
}