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