Pagini recente » Cod sursa (job #454931) | Monitorul de evaluare | Cod sursa (job #1613636) | Cod sursa (job #2103451) | Cod sursa (job #87940)
Cod sursa(job #87940)
#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];
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;
}
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]) MIN[j]=COST[i]+MIN[j-PROD[i]]; }
else if(COST[i]<MIN[j]) MIN[j]=COST[i];
/////
out<<MIN[CANT_NEC];
}
else out<<-1;
for(i=1;i<=CANT_NEC;i++) cout<<MIN[i]<<" ";
}