Cod sursa(job #759607)

Utilizator test13test13 test13 Data 18 iunie 2012 19:00:04
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <cstdio>
#include <algorithm>
using namespace std;

int pr[10001]; // profitul maxim pe care il putem obtine pt greutatea i-unitati
int n,g,w,p;

inline void ajusteaza(int w,int p)
{
    for(int i=g;i-w>=0;i--)
    pr[i]=max(pr[i],pr[i-w]+p);
}

int main(){
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);
        scanf("%d %d",&n,&g); // nr de obiecte
        while(n--)
        {
            scanf("%d %d",&w,&p); // citim greutatea si profitul
            ajusteaza(w,p); // ajusteaza solutia tinind cont de obiectul respectiv
        }
        printf("%d\n",pr[g]);
    return 0;
}