Pagini recente » Cod sursa (job #1807976) | Cod sursa (job #2466641) | Cod sursa (job #2436821) | Cod sursa (job #2038930) | Cod sursa (job #862168)
Cod sursa(job #862168)
#include <fstream>
#include <cmath>
#include <algorithm>
#include <cstring>
using namespace std;
ifstream fin ("energii.in");
ofstream fout ("energii.out");
void Read ();
void Write ();
int Energy ();
int n;
int E;
struct generate{
int e, c;
} G[1005];
int En[15005];
int main ()
{
Read ();
fin.close ();
Write ();
fout.close ();
return 0;
}
void Read ()
{
fin >> n >> E;
for (int i = 0; i < n; ++i)
fin >> G[i].e >> G[i].c;
}
void Write ()
{
fout << Energy ();
return ;
}
int Energy ()
{
//memset (En, -1, sizeof(En));
for (int i = 1; i < 15005; ++i)
En[i] = 99999999;
En[0] = 0;
for (int i = 0; i < n; ++i)
for (int j = E - G[i].e; j >= 0; --j)
if (En[j] != 99999999 && En[j + G[i].e] > En[j] + G[i].c)
En[j + G[i].e] = En[j] + G[i].c;
int aux = E;
while (En[aux] == 99999999)
aux++;
return En[aux];
}