Cod sursa(job #1427128)

Utilizator IoanZioan zahiu IoanZ Data 1 mai 2015 16:12:58
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstdio>

using namespace std;

int co[10001];

int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    int g,w,i,j,e,c,dr;
    co[0]=0;
    scanf("%d%d",&g,&w);
    for (i=1;i<=w;i++)
         co[i]=-1;
    dr=0;
    for (i=1;i<=g;i++){
         scanf("%d%d",&e,&c);
         for (j=dr;j>=0;j--)
                if (co[j]!=-1)
                    if (co[j+e]<co[j]+c)
                    {
                        co[j+e]=co[j]+c;
                        if (j+e>dr)
                            dr=j+e;
                    }
    }
    i=w;
    while (i<=5000 && co[i]==-1)
           i++;
    printf("%d",co[i]);
    return 0;
}