Pagini recente » Cod sursa (job #2300249) | Cod sursa (job #2354288) | Cod sursa (job #610115) | Cod sursa (job #770778) | Cod sursa (job #2361886)
#include <bits/stdc++.h>
#define f first
#define s second
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
pair<int,int> a[5001];
int dp[5001][10001];
int main(){
int n,w,i,m=0,j;
in>>n>>w;
for(i=1; i<=n; ++i)
cin>>a[i].f>>a[i].s;
for(i=1; i<=n; ++i){
for(j=0; j<=w; ++j){
dp[i][j]=dp[i-1][j];
if(j>=a[i].f)
dp[i][j]=max(dp[i][j], dp[i-1][j-a[i].f]+a[i].s);
}
}
out<<dp[n][w];
return 0;
}