Cod sursa(job #949566)

Utilizator MaddoxMihalcea-Simoiu Theodor Maddox Data 14 mai 2013 10:47:06
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <cstdio>

using namespace std;
int maxi(int a, int b){
 if(a>b) return a;
  else return b;
 }
int g,i,n,w[10001],p[10001],s[10001],j;
int main()
{
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);
    scanf("%d%d",&n,&g);
    for(i=1;i<=n;++i)
     scanf("%d%d",&w[i],&p[i]);
    for(i=1;i<=n;++i){
      for(j=g;j>=0;--j)
       if(j>=w[i]){
        s[j]=maxi(s[j],s[j-w[i]]+p[i]);
       }
       else s[j]=s[j];
    }
    printf("%d",s[g]);
    return 0;
}