Cod sursa(job #87940)

Utilizator pandaemonAndrei Popescu pandaemon Data 29 septembrie 2007 20:49:51
Problema Energii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#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]<<" ";
 }