Pagini recente » Diferente pentru implica-te/arhiva-educationala intre reviziile 27 si 28 | Algoritmul lui Dinic | Cod sursa (job #3284476) | Cod sursa (job #1796252) | Cod sursa (job #125984)
Cod sursa(job #125984)
#include <cstdio>
#include <cmath>
#include <cstdlib>
#define FIN "inundatii.in"
#define FOUT "inundatii.out"
#define MAXN 50001
typedef unsigned long long ll;
int n;
int A[3][MAXN];
int main()
{
int i, j;
ll sum = 0;
freopen(FIN, "r", stdin);
freopen(FOUT,"w",stdout);
scanf("%d", &n);
for (i=0; i<n; ++i) {
scanf("%d %d %d", &A[0][i], &A[1][i], &A[2][i]);
}
for (i=0; i<3; ++i) {
ll nr = 0;
for (j=0; j<n; ++j) {
nr += A[i][j];
}
nr = (ll) round((double)nr/n);
nr -= n/2;
ll sum1 = 0, sum2 = 0, nrt = nr;
for (j=0; j<n; ++j) {
sum1 += abs(A[i][j] - nrt++);
}
nrt = nr - 1;
for (j=0; j<n; ++j) {
sum2 += abs(A[i][j] - nrt++);
}
if (sum1<sum2) sum += sum1; else sum += sum2;
}
printf("%llu\n", sum);
return 0;
}