Pagini recente » Cod sursa (job #845888) | Cod sursa (job #2217281) | Cod sursa (job #2695666) | Cod sursa (job #854346) | Cod sursa (job #3173166)
#include <fstream>
using namespace std;
ifstream fin ("zebughil.in");
ofstream fout("zebughil.out");
int n,G,i,g,p;
int dp[20000001];
long long dim=2000000001;
int main()
{
for(int k=1;k<=3;k++)
{
fin>>n>>G;
for(long long i=1;i<dim;i++)
dp[i]=-1;
for(i=1;i<=n;i++)
{
fin>>g>>p;
for(int j=G-g;j>=0;j--)
if(dp[j]!=-1 && dp[j+g]<dp[j]+p)
dp[j+g]=dp[j]+p;
}
int maxim=-1;
for(long long i=1;i<dim;i++)
if(dp[i]>maxim)
maxim=dp[i];
fout<<maxim<<'\n';
}
return 0;
}