Cod sursa(job #1849686)

Utilizator minut1Baies Cosmin minut1 Data 17 ianuarie 2017 19:25:31
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>

using namespace std;

ifstream cin("rucsac.in");
ofstream cout("rucsac.out");

int prof[10003];

struct proiect{
    int g,p;
};

proiect v[5003];

int main()
{
    int n,g;
    cin>>n>>g;
    for(int i=1; i<=n; i++)
        cin>> v[i].g >> v[i].p;
    for(int j=1; j<=g; j++)
        prof[j]=-1;
    for(int i=1; i<=n; i++){
        for(int j=g-v[i].g ; j>=0; j--){
            if(prof[j]!=-1 && prof[j]+v[i].p > prof[j + v[i].g])
                prof[j+v[i].g]=prof[j]+v[i].p;
        }
    }
    int max=0;
    for(int i=1; i<=g; i++)
        if(prof[i] > max)
            max = prof[i];
    cout << max;
    return 0;
}