Cod sursa(job #2683933)

Utilizator ililogIlinca ililog Data 12 decembrie 2020 11:25:34
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
using namespace std;
#include<iostream>
#include<fstream>
#include<algorithm>

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

int n, gmax;
int p[5001], w[5001];
int dp[2][10001];

int main() {
    
    fin >> n >> gmax;
    for (int i = 1; i<=n; i++) {
        fin >> w[i] >> p[i];
    }
    
    for (int i = 1; i<=n; i++) {
        for (int j = 0; j<=gmax; j++) {
            
            dp[1][j] = dp[0][j];          
            
            if (j >= w[i]) {
                dp[0][j] = max(dp[0][j], dp[1][j-w[i]] + p[i]);
            } 
            
        }
    }
    
    fout << dp[0][gmax];
    
    fin.close();    
    fout.close();

    return 0;
}