Pagini recente » Cod sursa (job #880566) | Cod sursa (job #2521121) | Cod sursa (job #1657621) | Cod sursa (job #2927397) | Cod sursa (job #923707)
Cod sursa(job #923707)
#include <fstream>
#include <bitset>
using namespace std;
short g,w,i,energie[1005],cost[1005],y,wan;
unsigned int costminim[6005],s;
bitset <5005>posibil;
int main()
{
ifstream f1("energii.in");
ofstream f2("energii.out");
f1>>g>>w;
for (i=1;i<=g;++i)
f1>>energie[i]>>cost[i];
posibil[0]=1;
wan=w+1000;
for (i=1;i<wan;++i) //dupa ce termin programul sa tratez si cazurile cand energia>w //fa aia cu activat
{
costminim[i]=1000000000;
for (y=1;y<=g;++y)
{
if ((energie[y]<=i)&&(posibil[i-energie[y]]))
{
s=cost[y]+costminim[i-energie[y]];
if (s<costminim[i])
{
costminim[i]=s;
posibil[i]=1;
}
}
}
}
if (posibil[w])
f2<<costminim[w]<<'\n';
f1.close();
f2.close();
return 0;
}