Cod sursa(job #3253026)

Utilizator Alexbora13Bora Ioan Alexandru Alexbora13 Data 31 octombrie 2024 21:59:03
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX = 5000;

int N, G;
pair <int, int> v[NMAX+1];
int dp[10001];

int main()
{   
    fin >> N >> G;
    for(int i=1; i<=N; i++)
        fin >> v[i].first >> v[i].second;
    for(int i=1; i<=N; i++)
    {
        for(int w=G; w>=v[i].first; w--)
            dp[w] = max(dp[w-v[i].first]+v[i].second, dp[w]);
    }
    int ans = -1;
    for(int i=0; i<=G; i++)
        ans  = max(ans, dp[i]);
    fout << ans;
    return 0;
}