Cod sursa(job #2554800)

Utilizator Simon2712Simon Slanina Simon2712 Data 23 februarie 2020 13:35:27
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>

using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int dp[3][10001];
int g[5001],p[5001];
int main()
{
    int n,gt,i,j,rez=0;
    cin>>n>>gt;
    for(i=1;i<=n;i++)
      cin>>g[i]>>p[i];
    for(i=1;i<=n;i++)
    {
      for(j=1;j<=gt;j++)
      {
        if(g[i]<=j)
          dp[2][j]=max(dp[1][j],dp[1][j-g[i]]+p[i]);
        else
          dp[2][j]=dp[1][j];
      }
      for(j=1;j<=gt;j++)
        dp[1][j]=dp[2][j];
    }
    for(j=1;j<=gt;j++)
      rez=max(rez,dp[1][j]);
    cout<<rez;
    return 0;
}