编程题:贪心算法
在遥远的土地上有一条大河和它旁边的许多村庄。村庄的编号从$$0$$到$$M$$,按照河流的顺序排列。相邻村庄之间的距离正好是1英里。
米尔科住在标有$$0$$的村子里。他从事用船在村庄之间运送人的生意。今天,米尔科将从他的村庄前往M村,他还将沿途运送一些人。
今天有$$N$$个人希望旅行,我们知道他们的出发点和目的地。米尔科的船可以容纳任何需要的人。
比如说,$$A$$从$$2$$号村到$$8$$号村,$$B$$从$$6$$号村到$$4$$号村。米尔科将一如既往地从他的村庄$$0$$开始,在村庄$$2$$接$$A$$,在村庄$$6$$接$$B$$,返回到$$4$$并在那里离开$$B$$,继续到村庄$$8$$,在那里离开$$A$$,然后继续到他的最终目的地,村庄$$M$$。下面的第一个测试用例中给出了这种情况。
编写一个程序,找出米尔科必须行驶的最小英里数,以便将每个人运送到他们的目的地,并最终到达$$M$$村。
### 输入格式:
第一行输入包含整数$$N$$和$$M(N≤300000, 3≤M≤109)$$。
下面的$$N$$行包含两个整数,即今天想要旅行的每个村民的出发点和目的地。这些数字将在$$0$$到$$M$$的范围内。
### 输出格式:
输出$$Mirko$$必须行驶的最小英里数。
### 得分:
在总得分为$$40$$%的测试案例中,$$N≤5000$$。
在总得分为$$50$$%的测试案例中,$$M≤2000000$$。
### 输入样例1:
in
2 10
2 8
6 4
### 输出样例1:
out
14
### 输入样例2:
in
8 15
1 12
3 1
3 9
4 2
7 13
12 11
14 11
14 13
### 输出样例2:
out
27
答案:若无答案欢迎评论
米尔科住在标有$$0$$的村子里。他从事用船在村庄之间运送人的生意。今天,米尔科将从他的村庄前往M村,他还将沿途运送一些人。
今天有$$N$$个人希望旅行,我们知道他们的出发点和目的地。米尔科的船可以容纳任何需要的人。
比如说,$$A$$从$$2$$号村到$$8$$号村,$$B$$从$$6$$号村到$$4$$号村。米尔科将一如既往地从他的村庄$$0$$开始,在村庄$$2$$接$$A$$,在村庄$$6$$接$$B$$,返回到$$4$$并在那里离开$$B$$,继续到村庄$$8$$,在那里离开$$A$$,然后继续到他的最终目的地,村庄$$M$$。下面的第一个测试用例中给出了这种情况。
编写一个程序,找出米尔科必须行驶的最小英里数,以便将每个人运送到他们的目的地,并最终到达$$M$$村。
### 输入格式:
第一行输入包含整数$$N$$和$$M(N≤300000, 3≤M≤109)$$。
下面的$$N$$行包含两个整数,即今天想要旅行的每个村民的出发点和目的地。这些数字将在$$0$$到$$M$$的范围内。
### 输出格式:
输出$$Mirko$$必须行驶的最小英里数。
### 得分:
在总得分为$$40$$%的测试案例中,$$N≤5000$$。
在总得分为$$50$$%的测试案例中,$$M≤2000000$$。
### 输入样例1:
in
2 10
2 8
6 4
### 输出样例1:
out
14
### 输入样例2:
in
8 15
1 12
3 1
3 9
4 2
7 13
12 11
14 11
14 13
### 输出样例2:
out
27
答案:若无答案欢迎评论