Cod sursa(job #120496)

Utilizator swift90Ionut Bogdanescu swift90 Data 5 ianuarie 2008 17:03:25
Problema Bilute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>
long long c[30100],lus[30100],bile[30100],lustr;
long long min,vop[30100],n,i,j,aux;
int main(){
	freopen("bilute.in","r",stdin);
	freopen("bilute.out","w",stdout);
	
	scanf("%lld",&n);
	for(i=0;i<n;++i){
		scanf("%lld%lld",&c[i],&aux);
		lus[i]=aux*c[i];
		bile[i]+=c[i];
		bile[i+1]=bile[i];
		lustr+=c[i]*aux;
	}
	for(i=1;i<n;++i)
		vop[0]+=c[i]*i;
	for(i=1;i<n;++i)
		vop[i]=vop[i-1]-c[i]-(bile[n-1]-bile[i])+bile[i-1];
	
	
	min=vop[0]+lustr-lus[0];
	j=0;
	for(i=1;i<n;++i){
		aux=vop[i]+lustr-lus[i];
		if(min>aux){
			min=aux;
			j=i;
		}
	}
	
	printf("%lld %lld\n",j+1,min);
	
	fclose(stdin);
	fclose(stdout);
	return 0;
}