Cod sursa(job #882276)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 18 februarie 2013 23:31:07
Problema Inundatii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<stdio.h>

#define maxn 50005

FILE*f=fopen("inundatii.in","r");
FILE*g=fopen("inundatii.out","w");

int n,X[maxn],Y[maxn],Z[maxn];

inline int modul ( const int &j ){
	if ( j < 0 )	return -j;
	return j;
}

long long solve ( int *X ){
	
	int middle = (n+1)>>1; long long cost = 0;
	
	for ( int i = 1 ; i <= n ; ++i ){
		cost += modul(X[i]-X[middle]) + modul(middle-i);
	}
	return cost;
}

int main () {
	
	fscanf(f,"%d",&n);
	for ( int i = 1 ; i <= n ; ++i ){
		fscanf(f,"%d %d %d",&X[i],&Y[i],&Z[i]);
	}
	
	long long cost = solve(X) + solve(Y) + solve(Z);
	fprintf(g,"%lld\n",cost);
	
	fclose(f);
	fclose(g);
	
	return 0;
}