Pagini recente » Cod sursa (job #871883) | Cod sursa (job #3261269) | Cod sursa (job #2542034) | Cod sursa (job #723759) | Cod sursa (job #1323539)
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int cmin=1001*10001,e,c,nrg,wmin,s1[5001],s2[5001];
void cons(int s1[],int s2[])
{
for(int i=1;i<=wmin;i++)
s2[i]=0;
if(e>=wmin)
{
if(cmin>c) cmin=c;
}
else
s2[e]=c;
for(int i=1;i<=wmin;i++)
if(s1[i]!=0)
{
if(i+e>=wmin)
{
if(s1[i]+c<cmin) cmin=s1[i]+c;
}
else
if(s2[i+e]>s1[i]+c) s2[i+e]=s1[i]+c;
if(s2[i]>s1[i]) s1[i]=s2[i];
}
}
int main()
{
fin>>nrg>>wmin;
for(int i=1;i<=nrg;i++)
{
fin>>e>>c;
if(i%2==1)
cons(s2,s1);
else
cons(s1,s2);
}
fout<<cmin<<'\n';
return 0;
}