Cod sursa(job #3288609)
| Utilizator | Data | 23 martie 2025 09:56:09 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <fstream>
using namespace std;
ifstream cin ("rucsac.in");
ofstream cout ("rucsac.out");
struct pepene{
int w, p;
}a[10005];
int v[2][10005];
int main() {
int n, k;
cin >> n >> k;
for (int i = 1; i <= n; ++i){
cin >> a[i].w >> a[i].p;
}
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= k; ++j) {
if (j - a[i].w >= 0)
v[i % 2][j] = max(v[(i - 1) % 2][j], v[(i - 1) % 2][j - a[i].w] + a[i].p);
else
v[i % 2][j] = v[(i - 1) % 2][j];
}
}
cout << v[n % 2][k];
}
