Cod sursa(job #3210458)

Utilizator BogdanDavDavid Bogdan BogdanDav Data 6 martie 2024 11:58:02
Problema Problema rucsacului Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int a[5005][2], dp[5005][10005],n,dim;
int main()
{
    cin>>n>>dim;
    for(int i=1;i<=n;i++){
        cin>>a[i][1]>>a[i][2];
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=dim;j++){
            if(a[i][1]<=j){
                dp[i][j]=max(dp[i-1][j],a[i][2]+dp[i-1][j-a[i][1]]);
            }else
            {
                dp[i][j]=dp[i-1][j];
            }

        }
    }
/**
    for(int i=1;i<=n;i++,cout<<'\n')
        for(int j=1;j<=dim;j++)
            cout<<dp[i][j]<<' ';
*/
    cout<<dp[n][dim];
    return 0;
}