Pagini recente » Cod sursa (job #2506518) | Cod sursa (job #3254149) | Cod sursa (job #1144575) | Cod sursa (job #2671996)
#include <fstream>
#include <algorithm>
#include <iomanip>
#define f first
#define s second
using namespace std;
pair <int,int> v[1005];
int a[5][1005];
ifstream cin("ruucsac.in");
ofstream cout("rucsac.out");
int main()
{
int n,gm;
cin>>n>>gm;
for(int i=1; i<=n; ++i)
{
cin>>v[i].f>>v[i].s;
}
// for(int i=1; i<=gm; ++i)
//if(i<=v[1].f)
//a[1][i]=v[1].s;
int x1=0,x2=1;
for(int i=1; i<=n; ++i)
{
for(int j=0; j<=gm; ++j)
{
a[x2][j]=a[x1][j];
if(j>=v[i].f)
a[x2][j]=max(a[x2][j],a[x1][j-v[i].f]+v[i].s);
}
swap(x1,x2);
}
cout<<a[x1][gm];
return 0;
}