Pagini recente » Cod sursa (job #624543) | Cod sursa (job #386471) | Cod sursa (job #1337469) | Cod sursa (job #716928) | Cod sursa (job #403826)
Cod sursa(job #403826)
#include <algorithm>
using namespace std;
#define INF (1LL<<60)
#define DIM 50005
struct punct {int x,y,z;} v[DIM];
long long bst[DIM],bdr[DIM];
long long nrt=INF;
int n;
void read ()
{
int i;
scanf ("%d",&n);
for (i=1; i<=n; ++i)
scanf ("%d%d%d",&v[i].x,&v[i].y,&v[i].z);
}
void solve ()
{
int i;
for (i=2; i<=n; ++i)
bst[i]=bst[i-1]+(i-1)*(abs (v[i-1].x-v[i].x)+abs (v[i-1].y-v[i].y)+abs (v[i-1].z-v[i].z)+3);
for (i=n-1; i>0; --i)
bdr[i]=bdr[i+1]+(n-i)*(abs (v[i+1].x-v[i].x)+abs (v[i+1].y-v[i].y)+abs (v[i+1].z-v[i].z)+3);
nrt=INF;
for (i=1; i<=n; ++i)
if (bst[i]+bdr[i]<nrt)
nrt=bst[i]+bdr[i];
printf ("%d",nrt);
}
int main ()
{
freopen ("inundatii.in","r",stdin);
freopen ("inundatii.out","w",stdout);
read ();
solve ();
return 0;
}