Cod sursa(job #2210793)

Utilizator VladTiberiuMihailescu Vlad Tiberiu VladTiberiu Data 7 iunie 2018 23:06:14
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("rucsac.in");
ofstream g("rucsac.out");

struct point{
    int w,p;
};

const int NMax = 10003;

point a[NMax];
int n,G;
int dp[NMax];

int main()
{
    f >> n >> G;
    for(int i = 1; i <= n; ++i){
        f >> a[i].w >> a[i].p;
    }

    for(int i = 1; i <= n; ++i){
        for(int j = G; j >= 0; --j){
            if(j - a[i].w >= 0){
                dp[j] = max(dp[j], dp[j - a[i].w] + a[i].p);
            }
        }
    }

    g << dp[G] << '\n';
    return 0;
}