Cod sursa(job #88064)

Utilizator pandaemonAndrei Popescu pandaemon Data 30 septembrie 2007 00:24:09
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 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],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];
}

 }