Pagini recente » Cod sursa (job #3303185) | Cod sursa (job #1275555) | Cod sursa (job #3315887) | Cod sursa (job #3357833) | Cod sursa (job #3326856)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
vector<long long> dp;
struct rucsac
{
long long p, g;
};
rucsac v[5001];
void rezolvare(long long n,long long g)
{
int i, j;
dp[0] = 0;
for(i = 1; i <= n; i++)
for(j = g; j >= v[i].g; j--)
{
dp[j] = max(dp[j],dp[j - v[i].g] + v[i].p);
}
}
int main()
{
int n,g;
fin >> n >> g;
dp.resize(g + 1);
for(int i =1 ; i <= n; i++)
{
fin >> v[i].g >> v[i].p;
}
rezolvare(n, g);
fout << dp[g] <<' ';
return 0;
}