Cod sursa(job #1704664)

Utilizator Deea007Andreea Deea007 Data 19 mai 2016 10:43:16
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
 
using namespace std;
 
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
 
int w[5001], d[10001], p[10001];
 
int main () {
    int n, g;
    fin>>n>>g;
 
    for (int i=1; i<=n; i++) {
        fin>>w[i]>>p[i];
    }
    d[0]=1;
    for (int i=1; i<=n; i++) {
        for (int j=g; j>=w[i]; j--) {
            if (d[j-w[i]]!=0 && p[i]+d[j-w[i]]>=d[j]) {
                d[j]=p[i]+d[j-w[i]];
            }
        }
    }
    int sol=0;
    for (int i=0; i<=g; i++) {
        if (d[i]>sol) {
            sol=d[i];
        }
    }
    fout<<sol-1<<"\n";
    return 0;
}