Pagini recente » Cod sursa (job #394420) | Cod sursa (job #122904) | Cod sursa (job #1950314) | srymwgerhd | Cod sursa (job #125004)
Cod sursa(job #125004)
#include <stdio.h>
#define NMAX 50001
FILE *f=fopen("inundatii.in","rt");
FILE *g=fopen("inundatii.out","wt");
void rot(float &x)
{ if ((long long)x==(long long)(x+0.49)) x=(long long)x;
else x=(long long)(x+1);
}
float abs(float x)
{ if (x>0) return x;
return -x;
}
int main()
{ long n,i;
long long x[NMAX],y[NMAX],z[NMAX],s;
float xm,ym,zm,sx,sy,sz;
sx=sy=sz=0;
fscanf(f,"%ld",&n);
for (i=1;i<=n;i++)
{ fscanf(f,"%lld %lld %lld",&x[i],&y[i],&z[i]);
sx+=x[i];
sy+=y[i];
sz+=z[i];
}
fclose(f);
xm=sx/n;
ym=sy/n;
zm=sz/n;
rot(xm);
rot(ym);
rot(zm);
s=0;
if (n%2)//n=impar
{ for (i=1;i<=n;i++)
{ s+=abs(x[i]-(xm+(n/2-n+i)));
s+=abs(y[i]-(ym+(n/2-n+i)));
s+=abs(z[i]-(zm+(n/2-n+i)));
}
}
else //n=par
{ for (i=1;i<=n;i++)
{ s+=abs(x[i]-(xm+(n/2-n+i)));
s+=abs(y[i]-(ym+(n/2-n+i)));
s+=abs(z[i]-(zm+(n/2-n+i)));
}
}
fprintf(g,"%lld",s);
fclose(g);
return 0;
}