Cod sursa(job #2293494)
| Utilizator | Data | 1 decembrie 2018 00:18:01 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int a[1001][10001], n, gmax;
struct element
{
int greutate;
int pret;
}v[10001];
int main()
{
fin>>n>>gmax;
for (int k=1; k<=n; k++) fin>>v[k].greutate>>v[k].pret;
for (int i=1; i<=n; i++)
{
for (int j=1; j<=gmax; j++)
{
if (v[i].greutate<=j) a[i][j]=max(a[i-1][j], a[i-1][j-v[i].greutate]+v[i].pret);
else a[i][j]=a[i-1][j];
}
}
fout<<a[n][gmax];
return 0;
}
