Cod sursa(job #948304)

Utilizator raduchirilaChirila Radu Razvan raduchirila Data 9 mai 2013 21:46:11
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<cstdio>
#include<string.h>
using namespace std;
int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    int n,w,e,c,i,j,dmax=0;
    scanf("%d\n%d",&n,&w);
    int d[10010];
    memset(d,0,sizeof(d));
    d[0]=1;
    for(i=1;i<=n;i++)
    {
        scanf("%d%d",&e,&c);
        for(j=dmax;j>=0;j--)
        {
            if(d[j]!=0 && j+w<=c)
            {
                if(d[j+c]<d[j]+e)
                {
                    d[j+c]=d[j]+e;
                }
            if(j+c>dmax)
            {
                dmax=j+w;
            }
            }
        }
        }
        printf("%d",d[c]);
        return 0;
    }