Cod sursa(job #21258)

Utilizator pandaemonAndrei Popescu pandaemon Data 23 februarie 2007 01:36:05
Problema Energii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream.h>
#include <fstream.h>

fstream f("energii.in",ios::in),g("energii.out",ios::out);

int n,cant,**p;


void init()
{
f>>n; f>>cant;
p=new int*[n]; 
for(int i=0;i<n;i++)
{p[i]=new int[2]; f>>p[i][0]; f>>p[i][1]; }
f.close();}

void ordonare()
{int adevarat,aux,aux2;
do{
adevarat=1;
for(int i=0;i<n-1;i++)
if( (float)p[i][0] / p[i][1] < (float)p[i+1][0] / p[i+1][1])
{adevarat=0;
aux=p[i][0]; aux2=p[i][1];
p[i][0]=p[i+1][0]; p[i][1]=p[i+1][1];
p[i+1][0]=aux; p[i+1][1]=aux2;}
} while(adevarat==0);
}

int main()
{int cost=0,i=0;

init();
ordonare(); 

while(cant>0)
{cant-=p[i][0]; 
 cost+=p[i][1]; i++;
}
g<<cost;                    g.close(); delete p;
}