Mai intai trebuie sa te autentifici.

Cod sursa(job #3141575)

Utilizator vozian.anghelinaAnghelina Vozian vozian.anghelina Data 14 iulie 2023 16:37:22
Problema Problema rucsacului Scor 100
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 u = 0;

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

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

    cout << D[!u][n];
}