D. [COI 2011] 河流 / RIJEKA

    Type: RemoteJudge 1000ms 64MiB

[COI 2011] 河流 / RIJEKA

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目背景

译自 COI 2011 T3。

题目描述

在一个遥远的国度,有一条大河,沿岸分布着许多村庄。村庄按河流沿岸的顺序从 00 到 MM 编号。相邻两个村庄之间的距离恰好为 11 公里。

在编号为 00 的村庄里,住着一位名叫 Mirko 的村民,他拥有一艘船,专门从事村庄间的客运服务。今天, Mirko 需要从 00 号村庄出发前往 MM 号村庄,并在途中运送一些乘客。具体来说,今天共有 NN 名乘客需要出行,每名乘客的当前所在村庄和目的村庄均已知晓。

Mirko 的船容量很大,可以同时搭载任意数量的乘客。 例如,乘客 A 需要从 22 号村庄前往 88 号村庄,乘客 B 需要从 66 号村庄前往 44 号村庄。那么 Mirko 从 00 号村庄出发后可以这样操作:在 22 号村庄接上乘客 A,继续行驶至 66 号村庄接上乘客 B,然后返回 44 号村庄让乘客 B 下船,再继续行驶至 88 号村庄让乘客 A 下船,最后前往 M 号村庄。此方案对应下文第一个测试样例。

请编写程序计算 Mirko 从 00 号村庄出发,将所有乘客运送至目的地,并最终成功到达 MM 号村庄所需行驶的最小总公里数。

输入格式

第一行输入两个自然数 NN 和 MM (N≤300,000,3≤M≤109)(N \le 300,000, 3 \le M \le 10^9),含义如题目描述,以空格分隔。

接下来 NN 行每行包含两名乘客的信息,一行输入两个不同的整数(均大于 00 且小于 MM ),分别表示该乘客的出发村庄和目的村庄。

输出格式

输出一行一个整数,表示 Mirko 行驶路径的最小总公里数。

2 10 
2 8 
6 4 
14
8 15 
1 12 
3 1 
3 9 
4 2 
7 13 
12 11 
14 11 
14 13 
27

提示

对于 40%40\% 的测试数据满足:N≤5000N \le 5000。

对于另外 50%50\% 的测试数据满足:M≤2,000,000M \le 2,000,000。

CSP-J 练习题

Not Attended
Status
Done
Rule
IOI
Problem
10
Start at
2026-10-26 8:00
End at
2026-10-30 8:00
Duration
96 hour(s)
Host
Partic.
16