Pagini recente » Cod sursa (job #761087) | Cod sursa (job #2505189) | Cod sursa (job #981096) | Cod sursa (job #3214307) | Cod sursa (job #820611)
Cod sursa(job #820611)
#include <stdio.h>
int prf[10001];
int n,k;
void step(int g,int p){
for (int j=k-g;j>=0;j--){
if (prf[j]!=-1 && p+prf[j]>prf[j+g])
prf[j+g]=prf[j]+p;
}
}
void write(){
int max=-1;
for (int i=k;i>=0;i--)
if (prf[i]!=-1){
if (max<prf[i])
max=prf[i];
}
printf("%d",max);
}
int main(){
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d %d",&n,&k);
for (int i=1;i<=k;i++)
prf[i]=-1;
prf[0]=0;
for (int i=1;i<=n;i++){
int g,p;
scanf("%d %d",&g,&p);
step(g,p);
}
write();
return 0;
}