Cod sursa(job #1067789)

Utilizator DGVanceaDragos Gabriel Vancea DGVancea Data 27 decembrie 2013 15:23:19
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb

#include <fstream>

using namespace std;

int a[1004][5005],b[1004],c[1005];
int w,g,i,j;

int main()
{
    FILE *fin=fopen("energii.in","r");
    FILE *fout=fopen("energii.out","w");
    fscanf(fin,"%d%d",&g,&w);
    for(i=1; i<=g; i++)
        fscanf(fin,"%d%d",&b[i],&c[i]);
    for(i=0; i<=g; i++)
        for(j=1; j<=w; j++)
            a[i][j]=2000000000;
    for(i=1; i<=g; i++)
        for(j=1; j<=w; j++)
            if(b[i]<=j)
                a[i][j]=min(a[i-1][j],a[i-1][j-b[i]]+c[i]);
            else
                a[i][j]=min(a[i-1][j],c[i]);
    if(a[g][w]==2000000000)
        fprintf(fout,"-1");
    else
        fprintf(fout,"%d",a[g][w]);

    return 0;
}