Cod sursa(job #3141573)

Utilizator vozian.anghelinaAnghelina Vozian vozian.anghelina Data 14 iulie 2023 16:23:57
Problema Problema rucsacului Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
//https://infoarena.ro/problema/rucsac
#include <bits/stdc++.h>
using namespace std;
int n,k;

int main(){
    ifstream cin("rucsac.in");
    ofstream cout("rucsac.out");
    cin >> k >> n;
    int G[n+1], C[n+1], D[k+1][n+1];
    for(int i=1; i<=k; i++){
        cin >> G[i] >> C[i];
    }

    for(int i=1; i<=k; i++){
        D[i][0] = 0;
    }
    for(int i=1; i<=k; i++){
        for(int j=1; j<=n; j++){
            int val;
            if(j - G[i] >= 0){
                D[i][j] = max(D[i-1][j - G[i]] + C[i], D[i-1][j]);
                // cout << D[i][j] << ' ';
            } else {
                D[i][j] = D[i-1][j];
                // cout << D[i][j] << ' ';
            }
        }
        // cout << endl;
    }

    cout << D[k][n];
}