Cod sursa(job #483507)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 8 septembrie 2010 23:02:00
Problema Bilute Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>

#define file_in "bilute.in"
#define file_out "bilute.out"

#define nmax 30100

int N;
int L[nmax];
int C[nmax];
int D[nmax];

void adfile(void){
	
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	scanf("%d", &N);
	for (int i=1;i<=N;++i)
		 scanf("%d %d", &C[i], &L[i]);
}

inline int abs(int a) { return a>=0?a:-a; }

void solve(void){
	
	int i,j,min,ind;
	for (i=1;i<=N;++i)
		 for (j=1;j<=N;++j)
			 if (i!=j)
			  D[j]+=C[i]*(L[i]+abs(i-j));
	min=D[1];
	for (i=2;i<=N;++i)
		 if (D[i]<min)
		 {
			 ind=i;
			 min=D[i];
		 }
		 
	printf("%d %d\n", ind,min);
}

int main(){
	
	adfile();
	solve();
	
	return 0;
	
}