Cod sursa(job #1006892)

Utilizator Aida_SilviaStrimbeanu Aida Silvia Aida_Silvia Data 7 octombrie 2013 21:21:05
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include<fstream>

using namespace std;

int n,greutate, v[5073],g[5073],last[10073],best[10073], rasp=0;


void problem()
{
    for (int i=0;i<=greutate;i++)
        best[i]=0;
    for (int i=0;i<n;i++)
        for (int j=greutate-g[i];j>=0;j--)
            {
                best[j+g[i]]=max(best[j+g[i]], v[i]+best[j]);
                if (best[j+g[i]]>rasp)
                    rasp=best[j+g[i]];
                last[j+g[i]]=i;
            }
}






int main()
{
   ifstream in("rucsac.in");

   in>>n>>greutate;

   for (int i=0;i<n;i++)
      {
          in>>g[i]>>v[i];
      }
    problem();

   ofstream out("rucsac.out");
   out<<rasp;

   return 0;
}