Mai intai trebuie sa te autentifici.
Cod sursa(job #125619)
Utilizator | Data | 20 ianuarie 2008 15:16:33 | |
---|---|---|---|
Problema | Inundatii | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.92 kb |
#include <stdio.h>
long n, contor, px, py, pz;
typedef struct
{
long x, y, z;
} casa;
casa v[50001];
long modul(long x)
{
if (x >= 0) return x;
else return -x;
}
int main()
{
freopen("inundatii.in","r",stdin);
freopen("inundatii.out","w",stdout);
scanf("%ld",&n);
int i;
for (i = 1; i <= n; i++) scanf ("%ld %ld %ld",&v[i].x, &v[i].y, &v[i].z);
if (n % 2 == 0)
{
px=(v[n/2].x+v[n/2+1].x)/2-n/2+1;
py=(v[n/2].y+v[n/2+1].y)/2-n/2+1;
pz=(v[n/2].z+v[n/2+1].z)/2-n/2+1;
for (i = 1; i <= n; i++)
{
contor += modul(px - v[i].x) + modul(py - v[i].y) + modul(pz - v[i].z);
px++; py++; pz++;
}
}
else
{
px=v[n/2+1].x-n/2; py=v[n/2+1].y-n/2; pz=v[n/2+1].z-n/2;
for (i = 1; i <= n; i++)
{
contor += modul(px - v[i].x) + modul(py - v[i].y) + modul(pz - v[i].z);
px++; py++; pz++;
}
}
printf("%ld\n",contor);
return 0;
}