Cod sursa(job #3297581)

Utilizator Arhiva_EducationalaArhiva Educationala Arhiva_Educationala Data 22 mai 2025 22:38:44
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

const int GMAX = 10000;
const int INF = 1e9;

int maxProfit[GMAX + 1];

int main() {
    ifstream fin( "rucsac.in" );
    ofstream fout( "rucsac.out" );
    int n, m, ans = 0;
    fin >> n >> m;
    for ( int i = 1; i <= m; i ++ ) maxProfit[i] = -INF;
    for ( int i = 0, w, p; i < n; i ++ ) {
        fin >> w >> p;
        for ( int j = m; j >= w; j -- ) {
            maxProfit[j] = max( maxProfit[j], maxProfit[j - w] + p );
        }
    }
    for ( int i = 0; i <= m; i ++ ) {
        ans = max( ans, maxProfit[i] );
    }
    fout << ans << '\n';
    return 0;
}