Cod sursa(job #1418059)

Utilizator alexandra_udristoiuUdristoiu Alexandra Maria alexandra_udristoiu Data 11 aprilie 2015 20:45:50
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<fstream>
using namespace std;
int n, g, i, j, x, sol;
pair<int, int> v[10002];
int f[10002], p[10002];
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int main(){
    fin>> n >> g;
    for(i = 1; i <= n; i++){
        fin>> v[i].first >> v[i].second;
    }
    f[0] = 1;
    for(i = 1; i <= n; i++){
        for(j = g - v[i].first; j >= 0; j--){
            if(f[j] == 1){
                x = j + v[i].first;
                f[x] = 1;
                p[x] = max(p[x], p[j] + v[i].second);
            }
        }
    }
    for(i = 1; i <= g; i++){
        sol = max(sol, p[i]);
    }
    fout<< sol <<"\n";
    return 0;
}