IOI '04 P1 - Hermes

View as PDF

Submit solution

Points: 15 (partial)
Time limit: 1.0s
Memory limit: 16M

Problem type
IOI '04 - Athens, Greece

In a modern city for Greek gods, the streets are geometrically arranged as a grid with integer coordinates with streets parallel to the x and y axes. For each integer value Z, there is a horizontal street at y = Z and a vertical street at x = Z. This way, integer coordinate pairs represent the street junctions. During the hot days, the gods rest in cafeterias at street junctions. Messenger Hermes is to send photon messages to gods resting in the cafeterias by only moving along the city streets. Each message is for a single god, and it does not matter if the other gods see the message.

The messages are to be sent in a given order, and Hermes is provided the coordinates of the cafeterias in that order. Hermes starts from (0, 0). To send a message to a cafeteria at (X_{i}, Y_{i}), Hermes only needs to visit some point on the same horizontal street (with y-coordinate Y_{i}) or on the same vertical street (with x-coordinate X_{i}). Having sent all of the messages, Hermes stops.

You are to write a program that, given a sequence of cafeterias, finds the minimum total distance Hermes needs to travel to send the messages.

Input Specification

The first line contains one integer N (1 \le N \le 20\,000): the number of messages to be sent. The following N lines contain the coordinates of the N street junctions where the messages are to be sent. These N lines are in the order in which the messages are to be sent. Each of these N lines contains two integers X_{i} and Y_{i} (-1\,000 \le X_{i}, Y_{i} \le 1\,000): first the x-coordinate and then the y-coordinate of the street junction.

Output Specification

The output should contain a single line containing one integer: the minimum total distance Hermes needs to travel to send the messages.

Sample Input

8 3
7 -7
8 1
-2 1
6 -5

Sample Output


Note: in 50\% of the inputs, 1 \le N \le 80.


There are no comments at the moment.