Cod sursa(job #1891541)

Utilizator AlexVulpoiuAlexandru Vulpoiu AlexVulpoiu Data 24 februarie 2017 09:38:06
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <cstdio>
#include <algorithm>
using namespace std;
short n,g,i,j,l,gr[5001],pr[5001];
int a[2][10001];
int main()
{
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);
    scanf("%hd %hd\n",&n,&g);
    for(i=1;i<=n;i++)
        scanf("%hd %hd\n",&gr[i],&pr[i]);
    l=0;
    for(i=1;i<=n;i++,l=1-l)
        for(j=0;j<=g;j++)
        {
            a[1-l][j]=a[l][j];
            if(gr[i]<=j)
                a[1-l][j]=max(a[1-l][j],a[l][j-gr[i]]+pr[i]);
        }
    printf("%d\n",a[l][g]);
    return 0;
}