Pagini recente » Cod sursa (job #789319) | Cod sursa (job #523277) | Cod sursa (job #565099) | Cod sursa (job #2438461) | Cod sursa (job #682991)
Cod sursa(job #682991)
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int dp[10005][10005];
vector<int> jos,sus;
int main()
{
int n,G,g,p;
freopen("rucsac.in","r", stdin);
freopen("rucsac.out","w", stdout);
scanf("%d %d",&n,&G);
for(int i=0;i<=G;i++)
sus.push_back(0);
jos.push_back(0);
for(int i=1;i<=n;i++)
{
scanf("%d %d",&g,&p);
for(int j=1;j<=G;j++)
{
jos.push_back(sus.back());
if(g<=j)
jos.back()=max(jos.back(),sus[j-g]+p);
}
sus=jos;
jos.clear();
jos.push_back(0);
}
printf("%d",sus.back());
return 0;
}