Pagini recente » Cod sursa (job #773096) | Cod sursa (job #427899) | Cod sursa (job #2894433) | Istoria paginii fmi-no-stress-2012/solutii/berarii2 | Cod sursa (job #1040568)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n, G, a, b;
vector< pair<int, int> > v;
vector< pair<int, int> >::iterator it;
int m[10002];
int main()
{
f>>n>>G;
for(int i=0; i<n; ++i){
f>>a>>b;
v.push_back(make_pair(a,b));
}
for(it=v.begin(); it!=v.end(); ++it){
a=it->first;
b=it->second;
for(int j=G; j>=a; --j)
m[j]=max(m[j], m[j-a]+b);
}
int mx=0;
for(int i=1; i<=G; ++i) mx=max(mx, m[i]);
g<<mx<<'\n';
g.close();
return 0;
}