Cod sursa(job #780074)

Utilizator tzipleatudTudor Tiplea tzipleatud Data 19 august 2012 21:06:40
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <cstring>
#define NM 1010
#define GM 7010
#define INF 0x3f3f3f

using namespace std;

ifstream f("energii.in");
ofstream g("energii.out");

int N,S,i,j,D[NM][GM],C,E;
int ANS=INF;

int main ()
{
    memset(D,INF,sizeof(D));
    for (i=0; i<NM; i++)
        D[i][0]=0;
    f >> N >> S;
    f >> E >> C;
    D[1][E]=C;
    for (i=2; i<=N; i++)
    {
        f >> E >> C;
        for (j=0; j<GM; j++)
            D[i][j]=D[i-1][j];
        for (j=0; j+E<GM; j++)
            D[i][j+E]=min(D[i][j+E],D[i-1][j]+C);
    }

    for (j=S; j<GM; j++)
        ANS=min(ANS,D[N][j]);

    if (ANS==INF) ANS=-1;
    g << ANS << '\n';
    f.close();
    g.close();
    return 0;
}