Pagini recente » Cod sursa (job #2070306) | Cod sursa (job #995483) | Cod sursa (job #1487343) | Cod sursa (job #1873213) | Cod sursa (job #1730313)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
#define MAXG 10001
#define MAXN 5000
int w[MAXN];
int p[MAXN];
int sol[MAXG];
int n,s,rez=0;
int main()
{
in>>n>>s;
for(int i=1; i<=n; i++)
{
in>>w[i];
in>>p[i];
}
sol[0]=1;
for(int i=1; i<=n; i++)
{
for(int j=s-w[i]; j>=0; j--)
{
if(sol[j+w[i]]<sol[j]+p[i])
{
sol[j+w[i]]=sol[j]+p[i];
if(sol[j]+p[i]>rez)
rez=sol[j]+p[i];
}
}
}
out<<rez-1;
}