Cod sursa(job #2581117)

Utilizator mirceaisherebina mircea mirceaishere Data 14 martie 2020 16:03:46
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");

int n, i, j, gmax, d[10010], sol;
/// d[i] = valoarea maxima ce se poate obtine cu o greutate <=i

struct obiect{
    int greutate;
    int valuare;
}v[5010];

int main(){
    fin>>n>>gmax;
    for(i=1; i<=n; i++){
        fin>>v[i].greutate>>v[i].valuare;
    }
    for(i=1; i<=n; i++){
        for(j=gmax-v[i].greutate; j>=0; j--){
            d[j+v[i].greutate] = max(d[j+v[i].greutate], d[j]+v[i].valuare);
            sol=max(sol, d[j+v[i].greutate]);
        }
    }
    fout<<sol;
}