Cod sursa(job #431039)

Utilizator drywaterLazar Vlad drywater Data 31 martie 2010 16:42:08
Problema Bilute Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
FILE *f=fopen("bilute.in","r"),*g=fopen("bilute.out","w");
int l[30001],c[30001],n,i,j;
long long s,sm=100000000,st[30001],sp[30001],t[30001],p[30001],po;
int main(void)
{
	fscanf(f,"%d",&n);
	for (i=1;i<=n;i++)
	{
		fscanf(f,"%d%d",&c[i],&l[i]);
	}
	for (i=1;i<=n;i++)
		st[i]=st[i-1]+c[i];
	for (i=n;i>=1;i--)
		sp[i]=sp[i+1]+c[i];
	for (i=1;i<=n;i++)
		t[i]=t[i-1]+c[i-1]*l[i-1]+st[i-1];
	for (i=n;i>=1;i--)
		p[i]=p[i+1]+c[i+1]*l[i+1]+sp[i+1];
	for (i=1;i<=n;i++)
		if (t[i]+p[i]<sm)
		{
			sm=t[i]+p[i];
			po=i;
		}
	fprintf(g,"%lld %lld",po,sm);
	fclose(g);
	return 0;
}