Pagini recente » Cod sursa (job #1379538) | Cod sursa (job #1042055) | Cod sursa (job #2405353) | Cod sursa (job #2428877) | Cod sursa (job #2867837)
#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++) s[current][j]=s[last][j];
for(int j=v[i].suly;j<=maxg;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;
}