Pagini recente » Cod sursa (job #3201184) | Cod sursa (job #2220292) | Cod sursa (job #1601551) | Cod sursa (job #1361300) | Cod sursa (job #2406718)
#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[j]);
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;
}