Cod sursa(job #2281591)

Utilizator maria15Maria Dinca maria15 Data 12 noiembrie 2018 15:38:01
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>

using namespace std;

int n, i, G, d[10002], j, sol;

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

struct{
    int p;
    int g;
} v[5002];

int main(){
    fin>>n>>G;
    for(i=1;i<=n;i++)
        fin>>v[i].g>>v[i].p;
    for(i=1;i<=G;i++)
        d[i] = -1;
    d[0] = 0;
    for(i=1;i<=n;i++)
        for(j=G;j>=0;j--)
            if(j + v[i].g <= G && d[j] != -1){
                d[j + v[i].g] = max(d[j + v[i].g], d[j] + v[i].p);
                sol = max(sol, d[j + v[i].g]);
            }
    fout<<sol;
    return 0;
}