Cod sursa(job #2684136)
Utilizator | Mihai A LittleGreenMen | Data | 12 decembrie 2020 23:08:43 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <fstream>
#define MAX_G 10005
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int N, G;
int DP[MAX_G];
int main()
{
int w, p;
in >> N >> G;
while(N--) {
in >> w >> p;
for(int i = G; i >= w; i--)
DP[i] = max(DP[i], p + DP[i - w]);
}
out << DP[G];
in.close();
out.close();
return 0;
}