Cod sursa(job #2575828)

Utilizator Iulia25Hosu Iulia Iulia25 Data 6 martie 2020 15:38:39
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>

using namespace std;

ifstream cin ("rucsac.in");
ofstream cout ("rucsac.out");
int maxim(int x,int y)
{
 if(x>=y)
 return x;
 else
 return y;
}
int dp[2][10005], profitmax;
int main()	{
  int N,G,w,p;
  cin>>N>>G;
  for(int i=1;i<=N;++i)
  {
   cin>>w>>p;
   for(int j=0;j<=G;++j)
   {
    if(w<=j)
     {
         dp[i % 2][j]=maxim(dp[(i-1) % 2][j],dp[(i-1) % 2][j-w]+p);
     }
     else
     {
      dp[i % 2][j]=dp[(i-1) % 2][j];
     }
   }
  }
  for(int i=0;i<=G;++i)
  {
   if(dp[N % 2][i]>=profitmax)
   profitmax=dp[N % 2][i];
  }
  cout<<profitmax;
}