Cod sursa(job #810492)

Utilizator Al3ks1002Alex Cociorva Al3ks1002 Data 10 noiembrie 2012 13:28:14
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<cstdio>
#include<algorithm>
#define oo (1<<31)-1
using namespace std;
int sol[5005],n,E,e,c,i,j;
int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    scanf("%d%d",&n,&E);
    for(i=1;i<=E;i++) sol[i]=oo;
    for(i=1;i<=n;i++)
    {
        scanf("%d%d",&e,&c);
        for(j=E+e-1;j>=e+1;j--)
        {
            if(sol[j-e]!=oo)
            {
                if(j>E) sol[E]=min(sol[E],sol[j-e]+c);
                else sol[j]=min(sol[j],sol[j-e]+c);
            }
        }
        sol[e]=min(sol[e],c);
    }
    if(sol[E]!=oo) printf("%d\n",sol[E]);
    else printf("-1\n");
    return 0;
}