Pagini recente » Pictura | Monitorul de evaluare | Istoria paginii runda/alg2011_rundafin/clasament | Istoria paginii autumn-warmup-2007/clasament/runda-1 | Cod sursa (job #2477079)
#include <bits/stdc++.h>
#define w first
#define p second
typedef long long ll;
ll n, g, i, j, k;
ll sol[10001];
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
scanf("%lld%lld", &n, &g);
for(i=1; i<=n; ++i) {
ll w, p;
scanf("%lld%lld", &w, &p);
for(j=g; j>=1; --j){
if(j>=w) sol[j]=std::max(sol[j], sol[j-w]+p);
}
}
printf("%lld", sol[g]);
fclose(stdin);
fclose(stdout);
return 0;
}