Cod sursa(job #307179)

Utilizator CezarMocanCezar Mocan CezarMocan Data 23 aprilie 2009 17:19:12
Problema Inundatii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>
#include <algorithm>
#define maxn 50100

using namespace std;

int x[maxn], y[maxn], z[maxn];
int n, i, j, rez;

int solve(int v[]) {
	int i, med, sol = 0;
	for (i = 1; i <= n; i++)
		v[i] -= i;
	sort(v + 1, v + n + 1);

	med = v[n / 2 + 1];
	for (i = 1; i <= n; i++)
		sol += abs(v[i] - med);
	
	return sol;

}

int main() {
	freopen("inundatii.in", "r", stdin);
	freopen("inundatii.out", "w", stdout);

	scanf("%d", &n);
	for (i = 1; i <= n; i++) 
		scanf("%d%d%d", &x[i], &y[i], &z[i]);

	rez = solve(x);
	rez += solve(y);
	rez += solve(z);

	printf("%d\n", rez);
	

	return 0;
}