Pagini recente » Monitorul de evaluare | Cod sursa (job #2869005) | Cod sursa (job #1493417) | Cod sursa (job #248147) | Cod sursa (job #2286348)
#include <bits/stdc++.h>
#define InFile "rucsac.in"
#define OutFile "rucsac.out"
#define DMAX 5010
#define LGMAX 10010
using namespace std;
FILE *fin=fopen(InFile,"r");
FILE *fout=fopen(OutFile,"w");
int n,Gmax;
int V[DMAX],G[DMAX];
int M[LGMAX];
void citire();
void pd();
int main()
{citire();
pd();
fprintf(fout,"%d\n",M[Gmax]);
return 0;
}
void citire()
{int i;
fscanf(fin,"%d%d",&n,&Gmax);
for(i=1;i<=n;i++)
fscanf(fin,"%d%d",&G[i],&V[i]);
}
void pd()
{int i,j;
for(i=1;i<=n;i++)
for(j=Gmax;j>=G[i];j--)
M[j]=max(M[j],V[i]+M[j-G[i]]);
}