Cod sursa(job #2698631)

Utilizator BereaBerendea Andrei Berea Data 22 ianuarie 2021 16:35:57
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
//#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;
const int MAXN=1e4+5;
int n,i,g,G,maxi;
int d[MAXN],w[MAXN],p[MAXN];

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

int main()
{
    cin>>n>>G;
    for ( int i = 1; i <= n; ++i) cin >> w[i] >> p[i];
    for (int i = 1; i <= n; ++i) for ( int g = G - w[i]; g >= 0; --g)
    {
        if(	d[g + w[i]] <  d[g] +p[i]) d[g + w[i]] = d[g] +p[i];
    }
    for (i=G;i>=1;i--)
    {
        maxi=max(maxi,d[i]);
    }
    cout<<maxi;
}