Cod sursa(job #2957823)

Utilizator begusMihnea begus Data 23 decembrie 2022 16:08:34
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("rucsac.in");
ofstream fout("rucsac.out");

unsigned int g, n, dp[50001][10001], p[5001], w[5001];

int main(){
    fin >> n >> g;
    for(int i=1; i<=n; i++){
        fin >> w[i] >> p[i];
    }
    dp[1][w[1]]=p[1];
    for(int i=2; i<=n; i++){
        for(int cw=1; cw<=g; cw++){
            if(cw-w[i]>=0){
                dp[i][cw]=max(dp[i-1][cw], dp[i-1][cw-w[i]]+p[i]);
            }else{
                dp[i][cw]=dp[i-1][cw];
            }
        }
    }
    fout << dp[n][g];
}