Cod sursa(job #807255)

Utilizator AnaTudorTudor Ana Maria Mihaela AnaTudor Data 4 noiembrie 2012 14:44:46
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<fstream>
#include<iostream>
#define maxn 5001
#define maxg 10001
using namespace std;
int P[maxn],H[maxn],O[maxg];
int main()
{
fstream f,g;
f.open("rucsac.in",ios::in);
g.open("rucsac.out",ios::out);
int N,G,sol=0;
f>>N>>G;
 O[0]=0;
 for(int i=1;i<=N;i++)
  f>>H[i]>>P[i];

 for(int i=1;i<=N;i++)
   for(int j=G-H[i];j>=0;j--)
   { if(O[j+H[i]] < O[j]+P[i])
      {  O[j+H[i]]=O[j]+P[i];
         if(O[j+H[i]]>sol)
           sol=O[j+H[i]];
      }
   }
g<<sol;
f.close();
g.close();
}