Cod sursa(job #942370)

Utilizator Vladinho97Iordan Vlad Vladinho97 Data 22 aprilie 2013 10:12:52
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <cstdio>
int v1[10010],v2[10010];
using namespace std;
int maxim(int a,int b)
{
    if(a<b)
        return b;
    return a;
}
int main()
{
    int n,g,w,p,i,j;
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);
    scanf("%d%d\n",&n,&g);
    for(j=1;j<=n;j++)
        {
            scanf("%d%d",&w,&p);
            for(i=1;i<=g;i++)
            {
               if(i>=w)
                    v2[i]=maxim(v1[i],v1[i-w]+p);
               else
                    v2[i]=v1[i];
            }
            for(i=1;i<=g;i++)
                v1[i]=v2[i];

        }
    printf("%d\n",v1[g]);
}