Cod sursa(job #2493193)
| Utilizator | Data | 16 noiembrie 2019 09:33:39 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 65 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n, gr;
struct obiect{
int w, p;
}a[5005];
int dp[5005];
void cautare()
{
for(int i=1; i<=n; i++)
{
for(int j=gr; j>=a[i].w; j--)
dp[j]=max(dp[j], dp[j-a[i].w]+a[i].p);
}
}
void citire()
{
f>>n>>gr;
for(int i=1; i<=n; i++)
f>>a[i].w>>a[i].p;
}
int main()
{
citire();
cautare();
g<<dp[gr];
return 0;
}
