Pagini recente » Cod sursa (job #1314628) | Cod sursa (job #1564584) | Istoria paginii runda/aminceputdeja/clasament | Cod sursa (job #2020715) | Cod sursa (job #2430626)
#include <iostream>
#include <fstream>
#define min(A,B) (A>B)?(B):(A)
#define change(A) (A%2==1)?0:1
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
struct generator
{
int cost;
int energie;
};
int g,w;
generator listaItemi[5010];
int memo[2][10010];
int calcRec(int pos,int val)
{
if(val>=w)
return 0;
else if(pos == 0)
{
return 1000000;
}
else
{
int tmp1 = calcRec(pos-1,val);
int tmp2 = listaItemi[pos].cost + calcRec(pos-1,val+listaItemi[pos].energie);
return min(tmp1,tmp2);
}
}
int main()
{
fin>>g>>w;
for(int i = 1; i<=g; i++)
fin>>listaItemi[i].energie>>listaItemi[i].cost;
fout<<calcRec(g,0);
return 0;
}