Cod sursa(job #1018568)

Utilizator Darius15Darius Pop Darius15 Data 29 octombrie 2013 19:15:59
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
short int gr[5001],G,pr[5001],n,i,l,j;
int d[2][10001];
int maxi(int a,int b)
{
    if (a>b) return a;
    return b;
}
int main()
{
   f>>n>>G;
   for (i=1;i<=n;i++)
    f>>gr[i]>>pr[i];
   l=0;
   for (i=1;i<=n;i++,l=1-l)
    for (j=0;j<=G;j++)
   {
       d[1-l][j]=d[l][j];
       if (gr[i]<=j)
       d[1-l][j]=maxi(d[1-l][j],d[l][j-gr[i]]+pr[i]);
   }
   g<<d[l][G];
    return 0;
}