Cod sursa(job #3245336)

Utilizator PetruApostolApostol Mihnea Petru PetruApostol Data 28 septembrie 2024 15:54:37
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
using namespace std;

ifstream cin("rucsac.in");
ofstream cout("rucsac.out");

int dp[2][10001];

int main()
{
    int n,m,i,j,rasp=0,a,b;
    cin>>n>>m;
    for(j=1;j<=m;j++){
        dp[0][j]=-1;
    }
    for(i=1;i<=n;i++){
        cin>>a>>b;
        for(j=1;j<=m;j++){
            dp[1][j]=dp[0][j];
            if(j>=a && dp[0][j-a]!=-1) dp[1][j]=max(dp[1][j],dp[0][j-a]+b);
        }
        for(j=1;j<=m;j++){dp[0][j]=dp[1][j];dp[1][j]=0;}
    }
    for(i=0;i<=m;i++) rasp=max(rasp,dp[0][i]);
    cout<<rasp;
    return 0;
}