Cod sursa(job #121783)

Utilizator savimSerban Andrei Stan savim Data 9 ianuarie 2008 20:01:13
Problema Bilute Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>
int main()
{
	int min,cost,n,i,j,p,q,r,t,k,s;
	int a[30001][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=30000;k=1;
	scanf("%d",&n);
	for (i=1; i<=n; i++)
	{
		scanf("%d %d",&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("%d %d\n",k,min);
    
    return 0;    
}