Cod sursa(job #117132)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 20 decembrie 2007 19:53:22
Problema Bilute Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream.h>
#include <math.h>

struct alabala
{
     long Ci,Li;
};
typedef struct alabala ala;
long long S;
ala a[30001];
long n,poz;

ifstream fin("bilute.in");
ofstream fout("bilute.out");

void citire()
{
   fin>>n;
   for (long i=0 ; i<n ; i++)
       fin>>a[i].Ci>>a[i].Li;
   fin.close();
}

void afla()
{
   for (long p=1;p<n;p++)
       S+=a[p].Ci*a[p].Li+a[p].Ci*(p);
   poz=1;

   for (long i=1;i<n;i++)
   {
   long long S1=0;
      for (long j=0;j<i;j++)
	   S1+=a[j].Ci*a[i].Li+a[i].Ci*fabs(((j)-(i)));
     for (long y=i+1;y<n;y++)
	   S1+=a[y].Ci*a[y].Li+a[y].Ci*fabs(((y)-(i)));
     if (S1<S)
     {
	poz=i+1;
	S=S1;
     }
   }
}

int main()
{
   citire();
   afla();
   fout<<poz<<" "<<S<<"\n";
   fout.close();
   return 0;
}