Cod sursa(job #1020929)

Utilizator stefanzzzStefan Popa stefanzzz Data 2 noiembrie 2013 20:59:49
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#define MAXG 1005
#define MAXW 5005
#define INF 1000000000
#define MAX(a,b) ((a>b)?(a):(b))
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");

int n,w,x,y,en[MAXG],cost[MAXG],pd[MAXW];

int main()
{
    int i,j;
    f>>n>>w;
    for(i=1;i<=n;i++)
        f>>en[i]>>cost[i];
    for(i=1;i<=w;i++)
        pd[i]=INF;
    for(i=1;i<=n;i++){
        x=en[i];
        y=cost[i];
        for(j=w;j>=1;j--){
            if(y+pd[MAX(0,j-x)]<pd[j])
                pd[j]=y+pd[MAX(0,j-x)];}}
    if(pd[w]==INF)
        g<<"-1\n";
    g<<pd[w]<<'\n';
    f.close();
    g.close();
    return 0;
}