Pagini recente » Cod sursa (job #2740074) | Cod sursa (job #1509460) | Cod sursa (job #1625569) | Cod sursa (job #122890) | Cod sursa (job #1257386)
#include <iostream>
#include <fstream>
using namespace std;
int costuri[10000000];
int main()
{
ifstream in("energii.in");
ofstream out("energii.out");
int i, g, w, egi, cgi, enec = -1,maximumc=0,j;
in >> g;
in >> w;
for (i = 1; i <= g; i++)
{
in >> egi;
in >> cgi;
for (j = maximumc;j >= 1; j--)
{
if (costuri[j] > 0)
{
if (costuri[j + cgi] < costuri[j] + egi)
{
costuri[j + cgi] = costuri[j] + egi;
if (j + cgi > maximumc)
{
maximumc = j + cgi;
}
}
}
}
if (maximumc < cgi){ maximumc = cgi; }
if (costuri[cgi]>egi||costuri[cgi]==0){ costuri[cgi] = egi; }
}
for (i = 1; i <= maximumc; i++)
{
if (costuri[i] >= w){ enec = i; break; }
}
out << enec;
return 0;
}