Cod sursa(job #1958202)

Utilizator Moldovan1234andrei Moldovan1234 Data 8 aprilie 2017 09:10:55
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <cstdio>
using namespace std;
int d[10005];
int main()
{
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);
    int n  , g ,g1,p1,i,j,last=0,max=0;
    scanf("%d",&n);
    scanf("%d",&g);
    for(i=1;i<=n;i++)
    {
        scanf("%d %d",&g1,&p1);
        for(j=last;j>=0;j--)
            if(j+g1<=g)
        {
            if(d[j]+p1>d[j+g1])
            {
                d[j+g1]=d[j]+p1;
                if(j+g1>last)last=j+g1;
                if(d[j+g1]>max)max=d[j+g1];
            }
        }
    }
    printf("%d",max);
    return 0;
}