Cod sursa(job #844604)

Utilizator mihail.jianuJianu Mihail mihail.jianu Data 29 decembrie 2012 16:09:45
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
const int inf=10001,G=5001;
int v[G];
int main()
{
    int i,j,n,w,eg,cg;
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    scanf("%d%d",&n,&w);
    for(i=1;i<=w;i++)
        v[i]=inf;
    for(i=1;i<=n;i++)
    {
        scanf("%d%d",&eg,&cg);
        for(j=w;j>=0;j--)
            if(v[j]!=inf)
            {
                if(w<=j+eg)
                    if(v[j]+cg<v[w])
                        v[w]=v[j]+cg;
                if(j+eg<w)
                    if(v[j]+cg<v[j+eg])
                        v[j+eg]=v[j]+cg;
            }
    }
    if(v[w]==inf)
        printf("-1");
    else
        printf("%d",v[w]);
    return 0;
}