Cod sursa(job #2175279)

Utilizator davidbejenariu2David Bejenariu davidbejenariu2 Data 16 martie 2018 16:24:39
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>
#define N 5005
#define gmax 10005

using namespace std;

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

int n, G;
int g[N], p[N];

void read()
{
    int i, j;
    fin >> n >> G;
    for ( i = 1; i <= n; ++i )
         fin >> g[i] >> p[i];
}

int rucsac()
{
    int i, j;
    int v[gmax] = {0};
    for ( i = 1; i <= n; ++i )
         for ( j = G; j >= g[i]; --j )
              v[j] = max( v[j], p[i] + v[j-g[i]] );
    return v[G];
}

int main()
{   read();
    fout << rucsac();
    return 0;
}