Pagini recente » Cod sursa (job #1690470) | Cod sursa (job #2454518) | Clasament ah6 | Cod sursa (job #1409929) | Cod sursa (job #1773265)
#include <stdio.h>
#include <stdlib.h>
inline int max(a,b){
if(a<b) return b;
else return a;
}
int g[5000],p[5000],v[10001];
int main()
{
FILE*fin,*fout;
int N,G,i,gr;
fin=fopen("rucsac.in","r");
fscanf(fin,"%d%d",&N,&G);
for(i=0;i<N;i++){
fscanf(fin,"%d%d",&g[i],&p[i]);
}
for(i=0;i<N;i++)
for(gr=G;gr>=g[i];gr--)
v[gr]=max(v[gr],v[gr-g[i]]+p[i]);
fout=fopen("rucsac.out","w");
fprintf(fout,"%d\n",v[G]);
fclose(fout);
return 0;
}