Cod sursa(job #881899)

Utilizator avramavram andrei marius avram Data 18 februarie 2013 18:58:47
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<stdio.h>
long long i,j,v[60000],k,s,g,w,ok,min,y,x;
int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    scanf("%lld%lld",&g,&w);
    for(i=1;i<=15000;i++)
        v[i]=1000000000;
    v[0]=0;
    
    for(i=1;i<=g;i++)
    {
        scanf("%lld%lld",&x,&y);
		for(j=15000;j>=0;j--)
            if(v[j] != 1000000000 && v[j]+y < v[j+x])
                v[j+x]=v[j]+y;
    }min=1000000001;
    for(i=w;i<=15000;i++)
    {
        if(v[i]<min)
        {
            min=v[i];
        }
    }
    if(min==1000000001)
        printf("-1");
    else
        printf("%lld",min);
    return 0;
}