Pagini recente » Cod sursa (job #2628302) | Cod sursa (job #2931766) | Cod sursa (job #27353) | Cod sursa (job #371630) | Cod sursa (job #2868438)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int s[3][100000],current=1,last=2,maxg;
struct elem{
int suly;
int penz;
}v[100000];
int main()
{
int n;
in>>n>>maxg;
for(int i=0;i<n;i++)in>>v[i].suly>>v[i].penz;
for(int i=0;i<n;i++)
{
// for(int j=1;j<v[i].suly-1;j++)
for(int j=v[i].suly;j<=maxg;j++)
{ s[current][j]=s[last][j];
s[current][j]=max(s[last][j],s[last][j-v[i].suly]+v[i].penz);
}
swap(current,last);
}
cout<<s[last][maxg];
out<<s[last][maxg];
return 0;
}