Pagini recente » Combinatorics shortlist | Cod sursa (job #1135303) | Cod sursa (job #1967837) | Cod sursa (job #326579) | Cod sursa (job #1730305)
#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;
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];
}
}
}
out<<sol[s]-1;
}