Cod sursa(job #326637)

Utilizator GheorgheMihaiMihai Gheorghe GheorgheMihai Data 25 iunie 2009 18:40:50
Problema Bilute Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<stdio.h>
#define N 1<<15
int n,sol;
int c[N],l[N],st[N],dr[N],x[N],y[N];

int main()
{
	freopen("bilute.in","r",stdin);
	freopen("bilute.out","w",stdout);
	scanf("%d",&n);
	int i;
	for(i=1;i<=n;i++)
	{
		scanf("%d%d",&c[i],&l[i]);
		st[i]=st[i-1]+c[i];
		x[i]=x[i-1]+c[i-1]*l[i-1]+st[i-1];
	}
	for(i=n;i>=1;i--)
	{
		dr[i]=dr[i+1]+c[i];
		y[i]=y[i+1]+c[i+1]*l[i+1]+dr[i+1];
	}
	long long max=10000000000000LL;
	for(i=1;i<=n;i++)
	{
		if(x[i]+y[i]<max)
		{
			max=x[i]+y[i];
			sol=i;
		}
	}
	printf("%d %lld\n",sol,max);
	return 0;
}