Cod sursa(job #1189222)

Utilizator AndreiBarbutaAndrei Barbuta AndreiBarbuta Data 21 mai 2014 20:39:10
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <cstdio>
#include <algorithm>
#define MAX 100005
#define INF 500000
#define MAXc 1005

using namespace std;

int d[MAX];
int energ[MAXc],cost[MAXc];


int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    int w,g;
    scanf("%d%d",&g,&w);
    for(int i=1;i<=g;i++)
        scanf("%d%d",&energ[i],&cost[i]);
    for(int i=1;i<=w;i++)
        d[i]=INF;
    for(int i=1;i<=g;i++)
        for(int j=w;j>=1;j--)
            if(energ[i]>j)
                d[j]=min(cost[i],d[j]);
            else
                d[j]=min(d[j-energ[i]]+cost[i],d[j]);

    if(d[w]!=INF)
        printf("%d",d[w]);
    else
        printf("-1");
    return 0;
}