#P11940. [CrCPC 2024] 搬东西

[CrCPC 2024] 搬东西

背景

译自 Natjecanje timova studenata informatičara hrvatskih sveučilišta J.

题目描述

街道上有 ll 家商店,自西向东编号为 1,2,…,l1,2,\ldots,l。相邻两家商店的距离为 11 米。

有 nn 个任务,第 ii 个任务要求从商店 sis_i 搬东西到商店 tit_i。

假设一次可以搬无限重的东西,可以从任意商店出发,整个任务结束后可以停在任意商店,求出路程和的最小值。

输入格式

第一行,两个正整数 l,nl,n。

接下来 nn 行,第 ii 行的正整数为 si,tis_i,t_i。

输出格式

输出一行一个正整数,表示答案。

10 6
1 4
3 5
6 7
2 1
9 4
8 5
14
100 3
11 50
50 49
36 35
42

提示

样例解释

样例 11 解释:

从 22 出发,

  • 在 2→12\to 1 的时候完成第 44 个任务;
  • 在 1→91\to 9 的时候完成第 1,2,31,2,3 个任务;
  • 在 9→49\to 4 的时候完成第 5,65,6 个任务。

总路程为 ∣2−1∣+∣1−9∣+∣9−4∣=14|2-1|+|1-9|+|9-4|=14,可以证明这是最优的方案。

数据范围

  • 1≤l≤1091\le l\le 10^9;
  • 1≤n≤1051\le n\le 10^5;
  • 1≤si,ti≤l1\le s_i,t_i\le l,si≠tis_i\neq t_i。