Cod sursa(job #881884)

Utilizator avramavram andrei marius avram Data 18 februarie 2013 18:46:49
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 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);
    v[0]=1;
    for(j=1;j<=g;j++)
    {
        scanf("%lld%lld",&x,&y);
        for(i=60000;i>=0;i--)
        {
            if(v[i]>0)
            {
                if(v[i+x]!=0)
                {
                    if(v[i]+y<=v[i+x])
                    {
                        v[i+x]=v[i]+y;
                    if(i==0)
                    v[i+x]--;}
                }
                else
                {
                    v[i+x]=v[i]+y;
                    if(i==0)
                    v[i+x]--;
                     
                }
                 
            }
        }
    }
	9;
    for(i=w;i<=60000;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;
}