Cod sursa(job #117461)

Utilizator hadesgamesTache Alexandru hadesgames Data 21 decembrie 2007 15:22:14
Problema Bilute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>
long long a[300000],b[300000],c[300000],d[300000],e[300000],f[300000];
int main()
{
	FILE *in,*out;
	long long n,min,cul,i;
	in=fopen("bilute.in","r");
	out=fopen("bilute.out","w");
	fscanf(in,"%lld",&n);
	for (i=1;i<=n;i++)
		fscanf(in,"%lld%lld",&a[i],&b[i]);
	for (i=1;i<=n;i++)
	{
		c[i]=e[i-1]+c[i-1]+a[i-1]*b[i-1];
		e[i]=e[i-1]+a[i];
	}
	for (i=n;i>=1;i--)
	{
		d[i]=f[i+1]+d[i+1]+a[i+1]*b[i+1];
		f[i]=f[i+1]+a[i];
	}
	min=d[1];
	cul=1;
	for (i=2;i<=n;i++)
		if (c[i]+d[i]<min)
		{
			min=c[i]+d[i];
			cul=i;
		}
	fprintf(out,"%lld %lld\n",cul,min);
	fclose(in);
	fclose(out);
	return 0;
		
}