Cod sursa(job #672718)
Utilizator | Data | 2 februarie 2012 22:46:22 | |
---|---|---|---|
Problema | Energii | Scor | 5 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.35 kb |
#include <fstream>
using namespace std;
ifstream f ("energii.in");
ofstream g ("energii.out");
int v[5005];
int main()
{
int G,E,en,cost,EN=0;
f>>G>>E;
for (;G>0;G--)
{
f>>en>>cost;
EN+=en;
for (int i=E-en; i>=0; i--)
if (v[i+en]<v[i]+cost)
v[i+en]=v[i]+cost;
}
if (EN<E)
g<<-1;
else g<<v[E];
return 0;
}