Pagini recente » Cod sursa (job #1447679) | Cod sursa (job #132139) | Cod sursa (job #1897684) | Cod sursa (job #2416890) | Cod sursa (job #1606109)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int n,gmax,W[5005],P[5005],M[2][10005];
void read(){
in>>n>>gmax;
for(int i=1;i<=n;i++){
in>>W[i]>>P[i];
}
}
void solve(){
for(int i=1;i<=n;i++){
for(int j=1;j<=gmax;j++){
if(W[i]>j){
M[1][j]=M[0][j];
}
else{
M[1][j]=max(M[0][j],P[i]+M[0][j-W[i]]);
}
}
swap(M[0],M[1]);
}
}
void write(){
out<<M[0][gmax];
}
int main()
{
read();
solve();
write();
return 0;
}