QOJ.ac

QOJ

시간 제한: 1.0 s 메모리 제한: 32 MB 총점: 70

#17014. GITARA

통계

Darko 有一个拥有十亿根手指的虚构外星人朋友。这个外星人很快就拿起了他的吉他,在网上找到了一个简单的旋律,并开始弹奏它。

吉他像往常一样有六根琴弦,用数字 $1$ 到 $6$ 表示。每根琴弦被分为 $P$ 个品格,用数字 $1$ 到 $P$ 表示。

旋律是一系列音符的序列,每个音符都是通过拨动在特定品格上按下的琴弦来发出的(例如,按下第 $4$ 根琴弦的第 $8$ 个品格)。如果一根琴弦上按下了多个品格,发出的音符将对应于这些品格中编号最高的那一个。

例如,如果第 $3$ 根琴弦已经按下了第 $5$ 个品格,而接下来要发出对应于第 $7$ 个品格的音符,则可以直接按下第 $7$ 个品格并拨弦,而无需松开第 $5$ 个品格,因为只有最高的品格会影响发出的音符(在这种情况下是第 $7$ 个)。类似地,如果接下来要发出同一根琴弦上对应于第 $2$ 个品格的音符,则必须同时松开第 $5$ 个和第 $7$ 个品格。

编写一个程序,计算演奏给定旋律所需的最少手指移动次数。注意,按下或松开单个品格算作一次手指移动。拨弦不计入手指移动,而是算作拨片移动。

输入格式

输入的第一行包含两个由单个空格分隔的正整数 $N$($N \le 500\,000$)和 $P$($2 \le P \le 300\,000$),分别代表旋律中的音符数量和品格数量。

接下来的 $N$ 行描述了对应音符的信息——分别为琴弦的编号和品格的编号,顺序与外星人弹奏它们的顺序相同。

输出格式

在单行输出中,打印最少的手指移动次数。

样例

输入样例 1

5 15
2 8
2 10
2 12
2 10
2 5

输出样例 1

7

输入样例 2

7 15
1 5
2 3
2 5
2 7
2 4
1 5
1 3

输出样例 2

9

说明

样例 1 说明

所有弹奏的音符都是通过拨动第 $2$ 根琴弦发出的。首先,依次按下第 $8$、$10$、$12$ 个品格(共 $3$ 次移动)。然后,松开第 $12$ 个品格以再次发出第二个音符(第 $4$ 次移动)。最后,按下第 $5$ 个品格,随后松开第 $10$ 和第 $12$ 个品格(共计 $7$ 次移动)。

样例 2 说明

按照产生的七个音符的顺序,分别需要 $1, 1, 1, 1, 3, 0, 2$ 次手指移动。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.