Pagini recente » Cod sursa (job #1762707) | Cod sursa (job #2623064) | Cod sursa (job #2050571) | Clasament test_de_boss | Cod sursa (job #1007306)
#include<fstream>
#include<iostream>
#include<stdio.h>
#include<vector>
#define MN 5001
#define MG 10001
using namespace std;
int wg[MN],pr[MN],A[MG],n,maxW,comb=0;
int solve()
{
for(int i=1;i<=n;i++)
for(int j=maxW-wg[i];j>=0;j--)
{
if(A[j+wg[i]]<A[j]+pr[i])
{
A[j+wg[i]]=A[j]+pr[i];
if(A[j+wg[i]]>comb) comb=A[j+wg[i]];
}
}
return comb;
}
int main()
{
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
fin>>n>>maxW;
for (int i=1;i<=n;i++)
fin>>wg[i]>>pr[i];
A[0] = 0;
fout<<solve();
return 0;
}