Pagini recente » Cod sursa (job #2372359) | Monitorul de evaluare | Cod sursa (job #214900) | Cod sursa (job #467916) | Cod sursa (job #2120055)
#include <fstream>
#define nmax 10010
#define nmax2 5010
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int g[nmax2],p[nmax2];
int d[nmax];
int main()
{
int n,gr,i,j;
fin>>n>>gr;
for(i = 1; i <= n; i++){
fin>>g[i];
fin>>p[i];
}
int sol = 0;
for(i = 1; i <= n; i++){
for(j = gr - g[i]; j >= 0; j--){
if(d[j+g[i]] < d[j] + p[i]){
d[j+g[i]] = d[j] + p[i];
if(d[j+g[i]] > sol) sol = d[j+g[i]];
}
}
}
fout<<sol;
}