Cod sursa(job #2119669)

Utilizator Gl0WCula Stefan Gl0W Data 1 februarie 2018 15:15:10
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>

using namespace std;

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

int n, s[10005], v[5005], sum, s1, p, g, maxim = -1, c[5005];

int main()
{
    fin>>n>>g;
    for(int i = 1; i <= n; i++){
        fin>>v[i]>>c[i];
    }
    for(int i = 1; i <= g; i++){
        s[i] = -1;
    }
    s[0] = 0;
    for(int i = 1; i <= n; i++){
        for(int j = g; j >= 0; j--){
            if(s[j] >= 0 && j + v[i] <= g && s[j + v[i]] < s[j] + c[i]){
                s[j + v[i]] = s[j] + c[i];
            }
        }
    }
    for(int i = g; i >= 1; i--){
        if(maxim < s[i]){
            maxim = s[i];
        }
    }
    fout<<maxim;
    return 0;
}