Cod sursa(job #881891)

Utilizator avramavram andrei marius avram Data 18 februarie 2013 18:52:38
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 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=w;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(min>v[i]&&v[i]!=0)
        {
            min=v[i];
            ok=1;
        }
    }
    if(ok==0)
        printf("%d",-1);
    else
        printf("%lld",min);
    return 0;
}