Cod sursa(job #2772993)

Utilizator Linca_AmaliaLinca Mihaela Amalia Linca_Amalia Data 3 septembrie 2021 21:15:52
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("rucsac.in");;
ofstream fout("rucsac.out");
int n, G, out, i, j, W[10005], P[10005], f[10005];

int main(){
    fin >> n >> G;
    for (i = 1; i <= n; i++){
        fin >> W[i] >> P[i];
    }
    for(i = 1; i <= G; i++)
        f[i] = -1;
    for (i = 1; i <= n; i++){
        for (j = G - W[i]; j >= 0; j--){
            if ( f[j] >= 0 ){
                if ( f[ j + W[i] ] < f[j] + P[i] )
                    f[ j + W[i] ] = f[j] + P[i];
            }
        }
    }
    for (i = 1; i <= G; i++){
        out = max(out, f[i]);
    }
    fout << out;
    return 0;
}