Pagini recente » Cod sursa (job #59653) | Cod sursa (job #440470) | Cod sursa (job #1368383) | Cod sursa (job #499001) | Cod sursa (job #2570100)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int n,gmax,rez[10010];
pair<int,int> v[5010];
int main()
{
fin>>n>>gmax;
for(int i=1;i<=n;i++)
fin>>v[i].first>>v[i].second;
for(int i=v[1].first;i<=gmax;i++)
rez[i]=v[1].second;
for(int i=2;i<=n;i++)
{
for(int j=gmax;j>=v[i].first;j--)
rez[j]=max(rez[j-v[i].first]+v[i].second,max(rez[j],rez[j-1]));
for(int j=v[i].first-1;j;j--)
rez[j]=max(rez[j],rez[j-1]);
}
fout<<rez[gmax];
return 0;
}