Cod sursa(job #326058)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 23 iunie 2009 17:18:09
Problema Bilute Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb

#include <stdio.h>

FILE *f,*s;

int n,i,c[30005],l[30005];
long long int cul,tim,sp[30005],st[30005],t[30005],p[30005];

int main()
{
	f=fopen("bilute.in","r");
	s=fopen("bilute.out","w");
	
	fscanf(f,"%d\n",&n);
	
	for(i=1;i<=n;i++)
		fscanf(f,"%d %d\n",&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];
	
	t[0]=0;
	for(i=1;i<=n;i++)
		t[i]=t[i-1]+c[i-1]*l[i-1]+st[i-1];
	
	for(i=n;i>0;i--)
		p[i]=p[i+1]+c[i+1]*l[i+1]+sp[i+1];
		
	cul=0;
	tim=1000000000;
	
	p[n]=0;
	for(i=1;i<=n;i++)
	{
		if(t[i]+p[i]<tim)
		{
			tim=t[i]+p[i];
			cul=i;
		}	
	}
	
	fprintf(s,"%lld ",cul);
	fprintf(s,"%lld",tim);
	
	return 0;
}