Pagini recente » Borderou de evaluare (job #1900861) | Cod sursa (job #600580) | Cod sursa (job #2731411) | Cod sursa (job #1671610) | Cod sursa (job #759606)
Cod sursa(job #759606)
#include <cstdio>
#include <algorithm>
using namespace std;
int pr[10001]; // profitul maxim pe care il putem obtine pt greutatea i-unitati
int n,g,w,p;
inline void ajusteaza(int w,int p)
{
for(int i=g-w;i>=0;i--)
pr[i+w]=max(pr[i+w],pr[i]+p);
}
int main(){
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d %d",&n,&g); // nr de obiecte
while(n--)
{
scanf("%d %d",&w,&p); // citim greutatea si profitul
ajusteaza(w,p); // ajusteaza solutia tinind cont de obiectul respectiv
}
printf("%d\n",pr[g]);
return 0;
}