Cod sursa(job #3342281)
| Utilizator | Data | 23 februarie 2026 17:15:20 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
#include <fstream>
#define NMAX 5005
#define WMAX 10005
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int N, W, w[NMAX], c[NMAX], dp[WMAX];
int main()
{
cin >> N >> W;
for(int i = 1; i <= N; i++)
cin >> w[i] >> c[i];
for(int i = 1; i <= N; i++)
for(int j = W; j >= w[i]; j--)
dp[j] = max(dp[j], dp[j - w[i]] + c[i]);
cout << dp[W];
return 0;
}
