Cod sursa(job #1766612)

Utilizator roxanastRoxana Stiuca roxanast Data 28 septembrie 2016 10:06:47
Problema Problema rucsacului Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>

using namespace std;
int best[10005],n,G,p,g,i,j,max1,max2;
ifstream f("rucsac.in");
ofstream out("rucsac.out");
int main()
{
    f>>n>>G;
    max1=0;
    for(i=1;i<=n;i++){
      f>>g>>p;
      for(j=max1;j>0;j--)
        if(best[j]!=0&&j+g<=G&&best[j+g]<best[j]+p){
          best[j+g]=best[j]+p;
          if(j+g>max1)
            max1=j+g;
        }
        if(best[g]<p)
          best[g]=p;
        if(p>max1)
          max1=p;
    }
    max2=0;
    for(i=1;i<=max1;i++)
      if(best[i]>max2)
        max2=best[i];
      out<<max2;
    return 0;
}