Cod sursa(job #125039)

Utilizator razvi9Jurca Razvan razvi9 Data 20 ianuarie 2008 11:06:23
Problema Inundatii Scor 100
Compilator cpp Status done
Runda preONI 2008, Runda 3, Clasele 11-12 Marime 0.62 kb
#include<stdio.h>
const int N=50010;
int n,i,x[N],y[N],z[N],px,py,pz;
long long cost;
int myabs(int a)
{if(a<0) return -a;
 return a;}
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]);
 if(n%2)
  {px=x[n/2+1]-n/2;
   py=y[n/2+1]-n/2;
   pz=z[n/2+1]-n/2;}
 else
  {px=(x[n/2]+x[n/2+1])/2-n/2+1;
   py=(y[n/2]+y[n/2+1])/2-n/2+1;
   pz=(z[n/2]+z[n/2+1])/2-n/2+1;}
 for(i=1;i<=n;i++,px++,py++,pz++)
  cost=cost+myabs(px-x[i])+myabs(py-y[i])+myabs(pz-z[i]);
 printf("%lld",cost);
 fclose(stdout);
 return 0;}