Cod sursa(job #353314)
Utilizator | Taloi 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;
}