Cod sursa(job #442523)

Utilizator KrillKnossisKuchiki Byakuya KrillKnossis Data 14 aprilie 2010 18:51:38
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<cstdio> 
const int N=1<<13;
 
int v[N];
 
int main()
{
    freopen("566.in","r",stdin);
    freopen("566.out","w",stdout);
    int n,w;
    scanf("%d%d",&n,&w);
    for (int i=1;i<=w;i++)
        v[i]=-1;
    for (int i=1;i<=n;i++)
    {
        int e,c;
        scanf("%d%d",&e,&c);
        for (int j=w;j>=e+1;j--)
            if (v[j-e]!=-1)
                if (v[j]==-1 || v[j-e]+c<v[j])
                    v[j]=v[j-e]+c;
        for (int j=e;j>0;j--)
            if (v[j]==-1 || c<v[j])
                v[j]=c;
    }
    printf("%d\n",v[w]);
    return 0;
}