Cod sursa(job #947859)

Utilizator ursuletzu_79Vlad N. ursuletzu_79 Data 8 mai 2013 17:31:06
Problema Energii Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int We[5001];
int main ()
{
    int i,j,d,dmax=0,g,w,eg,cg;
    memset(We,-1,sizeof(We));
    We[0]=0;
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    scanf("%d%d",&g,&w);
    for (i=1;i<=g;i++)
    {
        scanf("%d%d",&eg,&cg);
        for (j=dmax;j>=0;j--)
        {
            if (We[j]>=0)
            if (We[j+cg]<We[j]+eg)
                {
                    We[j+cg]=We[j]+eg;
                    if (j+cg>dmax)
                        dmax=j+cg;
                }

        }
    }
    for (i=0;i<=min(dmax,5001);i++)
    {
        if (We[i]>=w)
            {
                printf("%d\n",i);
                break;
            }

    }
    return 0;
}