Pagini recente » Cod sursa (job #2953553) | Cod sursa (job #2015673) | Cod sursa (job #1175678) | Cod sursa (job #2226056) | Cod sursa (job #88064)
Cod sursa(job #88064)
#include <fstream.h>
#include <iostream.h>
fstream in("energii.in",ios::in),out("energii.out",ios::out);
int NRGEN,CANT_NEC,i,j,test;
int COST[1001],PROD[1001];
long MIN[5001],MIN2[5001];
int citire()
{
in>>NRGEN; in>>CANT_NEC;
for(i=1;i<=NRGEN;i++)
{in>>PROD[i];test+=PROD[i]; in>>COST[i];}
for(i=1;i<=CANT_NEC;i++){MIN[i]=1000000000; MIN2[i]=10000000000;}
}
int main()
{citire();
if(test>=CANT_NEC)
{/////
for(i=1;i<=NRGEN;i++) {
for(j=1;j<=CANT_NEC;j++)
if(PROD[i]<=j)
{if(COST[i]+MIN[j-PROD[i]] < MIN[j]) MIN2[j]=COST[i]+MIN[j-PROD[i]]; }
else if(COST[i]<MIN[j]){MIN2[j]=COST[i];}
for(int k=1;k<=CANT_NEC;k++) if(MIN[k]!=MIN2[k]) MIN[k]=MIN2[k];
}
/////
out<<MIN[CANT_NEC];
}
}