Pagini recente » Cod sursa (job #1578215) | Cod sursa (job #3181014) | Cod sursa (job #1886962) | Cod sursa (job #369400) | Cod sursa (job #3222937)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <utility>
#include <vector>
#include <array>
#include <climits>
#include <cmath>
#include <iomanip>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int main(){
int w[2001];
int p[2001];
int dp[4001];
int n,W;
fin>>n;
fin>>W;
for(int i=1;i<=n;i++){
fin>>w[i];
fin>>p[i];
}
for(int i=0;i<n;i++){
for(int j=W;j>=0;j--){
dp[j+w[i]]=max(dp[j]+p[i],dp[j]+p[i]);
}
}
int max=0;
for (int i = 0; i <=W; i++) {
if(max<dp[i])
max = dp[i];
}
cout<<max;
fout<<max;
return 0;
}