Pagini recente » Cod sursa (job #2984804) | Cod sursa (job #125255)
Cod sursa(job #125255)
#include <cstdio>
#define fin "inundatii.in"
#define fout "inundatii.out"
const int Nmax = 51000;
int N;
int x[Nmax],y[Nmax],z[Nmax];
long long ret;
void readdata()
{
int i;
freopen(fin,"r",stdin);
scanf("%d",&N);
for (i=1;i<=N;++i)
scanf("%d%d%d",&x[i],&y[i],&z[i]);
}
int abs(int a)
{
if ( a < 0 )
a*=(-1);
return a;
}
void solve()
{
int i,j;
int currx,curry,currz;
long long sum;
ret = -1;
for (i=1;i<=N;++i)
{
currx=x[i];
curry=y[i];
currz=z[i];
sum=0;
for (j=i-1;j>0;--j)
{
--currx;
--curry;
--currz;
sum = sum + (long long)abs(x[j]-currx);
sum = sum + (long long)abs(y[j]-curry);
sum = sum + (long long)abs(z[j]-currz);
}
currx=x[i];
curry=y[i];
currz=z[i];
for (j=i+1;j<=N;++j)
{
++currx;
++curry;
++currz;
sum = sum + (long long)abs(x[j]-currx);
sum = sum + (long long)abs(y[j]-curry);
sum = sum + (long long)abs(z[j]-currz);
}
if ( sum < ret || ret == -1 )
ret = sum;
}
freopen(fout,"w",stdout);
printf("%lld\n",ret);
}
int main()
{
readdata();
solve();
return 0;
}