Pagini recente » Cod sursa (job #15394) | Cod sursa (job #1315342) | Cod sursa (job #706477) | Cod sursa (job #684913) | Cod sursa (job #298649)
Cod sursa(job #298649)
#include<cstdio>
using namespace std;
#define INPUT "inundatii.in"
#define OUTPUT "inundatii.out"
const long NMAX = 50001;
FILE *fin = fopen(INPUT, "r"), *fout = fopen(OUTPUT, "w");
long N;
long X0[ NMAX ], Y0[ NMAX ], Z0[ NMAX ], X1[ NMAX ], Y1[ NMAX ], Z1[ NMAX ];
void readData()
{
fscanf(fin, "%ld", &N);
for(long i = 1; i <= N; ++i)
fscanf(fin, "%ld %ld %ld", &X0[ i ], &Y0[ i ], &Z0[ i ]);
}
inline long Abs(long X)
{
if(X < 0) return -X;
return X;
}
void solve()
{
for(long i = 1; i <= N; ++i)
X0[ i ] -= i, Y0[ i ] -= i, Z0[ i ] -= i;
for(long i = 1; i <= N; ++i)
X1[ i ] = X0[ N/2 ], Y1[ i ] = Y0[ N/2 ], Z1[ i ] = Z0[ N/2 ];
for(long i = 1; i <= N; ++i)
{
X1[ i ] += i, Y1[ i ] += i, Z1[ i ] += i;
X0[ i ] += i, Y0[ i ] += i, Z0[ i ] += i;
}
long long Sum = 0;
for(long i = 1; i <= N; ++i)
{
Sum += Abs(X1[ i ] - X0[ i ]);
Sum += Abs(Y1[ i ] - Y0[ i ]);
Sum += Abs(Z1[ i ] - Z0[ i ]);
}
fprintf(fout, "%lld\n", Sum);
}
int main()
{
readData();
solve();
fclose(fin);
fclose(fout);
return 0;
}