Cod sursa(job #122312)

Utilizator savimSerban Andrei Stan savim Data 11 ianuarie 2008 19:55:56
Problema Bilute Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>
int main()
{
	long long min,cost,n,i,j,p,q,r,t,k,s;
	long long a[30002][2];
    
    freopen("bilute.in","r",stdin);
    freopen("bilute.out","w",stdout);

	s=0;p=0;q=0;r=0;t=0;
	a[0][0]=0;a[0][1]=0;min=2100000000;k=1;
	scanf("%lld",&n);
	for (i=1; i<=n; i++)
	{
		scanf("%lld %lld",&a[i][0],&a[i][1]);
		s+=a[i][0]*a[i][1];
		q+=a[i][0];
		t+=a[i][0]*(i-1);
	}
	a[n+1][0]=0;a[n+1][1]=0;

	for (i=1; i<=n; i++)
	{
		cost=s-a[i][0]*a[i][1];

		p+=a[i-1][0];
		q-=a[i][0];

		r+=a[i-1][0];

		cost=cost+r;
		cost=cost+t;

		r+=p;
		t-=q;

		if (cost<min)
		{
		   min=cost;
		   k=i;
		}
	}

	printf("%lld %lld\n",k,min);
    
    return 0;    
}