Pagini recente » Cod sursa (job #547354) | Cod sursa (job #3030163) | Cod sursa (job #1863480) | Cod sursa (job #1181134) | Cod sursa (job #125153)
Cod sursa(job #125153)
/*
*
*
preONI 2007 - Runda 3 - Inundatii
*
*
*/
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define INPUT "inundatii.in"
#define OUTPUT "inundatii.out"
FILE *fin=fopen(INPUT, "r"),*fout=fopen(OUTPUT, "w");
long nrTotal, xTotal, yTotal, zTotal, xMij, yMij, zMij, x[50001], y[50001],z[50001];
long long sumTemp, sumFinal;
void readValues();
void solveFunction();
inline void printResult(long long val){fprintf(fout, "%lld\n", val);}
int main()
{
readValues();
solveFunction();
fclose(fin);
fclose(fout);
return 0;
}
void readValues()
{
fscanf(fin, "%ld", &nrTotal);
xTotal = 0;
yTotal = 0;
zTotal = 0;
for(long i=1;i<=nrTotal;++i){
fscanf(fin, "%ld %ld %ld", &x[i], &y[i], &z[i]);
xTotal += x[i];
yTotal += y[i];
zTotal += z[i];
}
}
void solveFunction()
{
xMij = xTotal / nrTotal;
yMij = yTotal / nrTotal;
zMij = zTotal / nrTotal;
xMij -= (nrTotal/2 - 1);
yMij -= (nrTotal/2 - 1);
zMij -= (nrTotal/2 - 1);
sumFinal = 0;
for(long i=1;i<=nrTotal;++i){
sumTemp = abs(x[i]-xMij);
sumTemp += abs(y[i]-yMij);
sumTemp += abs(z[i]-zMij);
sumFinal += sumTemp;
++xMij;
++yMij;
++zMij;
}
printResult(sumFinal);
}