Cod sursa(job #353314)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 4 octombrie 2009 17:24:40
Problema Bilute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<stdio.h>
long n,a[31000],b[31000];
long long s,min,mmi,nrp,nrm,i;
int main()
{
 freopen("bilute.in","r",stdin);
 freopen("bilute.out","w",stdout);
 scanf("%ld",&n);
 nrp=0;
 nrm=0;
 for(i=1;i<=n;++i)
    {scanf("%ld%ld",&a[i],&b[i]);
     if(i!=1)s+=(a[i]*b[i]+a[i]*(i-1));
     if(i!=1)nrp+=a[i];}
 min=s;
 mmi=1;
 for(i=2;i<=n;++i)
 {s-=nrp;
  nrm+=a[i-1];
  nrp-=a[i];
  s+=nrm;
  s+=a[i-1]*b[i-1];
  s-=a[i]*b[i];
  if(s<min){mmi=i;min=s;}}
 printf("%lld %lld\n",mmi,min);
 return 0;
}