#P14828. [Bulgarian2014组队赛]cars

[Bulgarian2014组队赛]cars

题目描述

彼得参加一场手工组装汽车比赛。赛道由 LL 个等长扇区组成,编号为 11LL。这些扇区按顺序排列,扇区 ii 与扇区 i+1i+1 相邻,其中 1iL11\le i\le L-1。此外,赛道是环形的,扇区 LL 与扇区 11 相邻。

原题此处给出了样例 1 的图:长度为 L=5L=5 的环形赛道,有两辆车分别从扇区 3 和扇区 5 出发。

赛道上的行驶方向受到严格限制:只允许按照扇区编号递增的方向行驶。也就是说,汽车可以从扇区 ii 行驶到扇区 i+1i+11iL11\le i\le L-1),也可以从扇区 LL 行驶到扇区 11,但禁止反向行驶。

比赛共有 N+1N+1 名参赛者报名,每人都提前组装好了自己的汽车。所有人都完成了预赛,预赛确定了各自汽车的速度:第 ii 名参赛者的汽车以恒定整数速度 viv_i 行驶。

其中 NN 名参赛者已经选择了起始位置:第 ii 名参赛者的汽车从位置 pip_i 出发,其中 1piL1\le p_i\le L。比赛规则禁止两名参赛者从同一个起始位置出发。

唯一还没有选择起始位置的是第 N+1N+1 名参赛者——彼得。他的汽车速度为整数 vpeterv_{peter}

由于所有汽车速度固定,比赛有些无聊,评委决定加入如下规则,让选手们必须谨慎选择起始位置:

当一辆汽车追上另一辆汽车时,被追上的汽车停止行驶,并被取消比赛资格。

每位参赛者都希望在被超越之前尽可能长时间留在比赛中(如果会被超越的话)。

彼得希望从赛道上的空闲扇区中选择自己的起始位置,使自己尽可能晚被取消资格;最好是永远不会被取消资格。

请编写程序 cars,找出对彼得最有利的起始位置。

输入格式

第一行包含三个正整数 N,L,vpeterN,L,v_{peter},用空格分隔。

接下来 NN 行,每行包含两个正整数 pi,vip_i,v_i,用空格分隔,表示已选择起始位置的第 ii 名参赛者的起始扇区和速度。

输出格式

第一行输出:

  • 能让彼得参加时间最长的起始位置数量;
  • 一个空格;
  • 一个最简分数,形式为 分子/分母,表示从比赛开始到彼得被取消资格经过的时间。

如果存在某个起始位置使彼得永远不会被取消资格,则分数位置输出字符串:

NEVER

如果对应最晚取消资格的起始位置超过 100 个,则第一行中的数量输出 100,第二行也只输出其中最小的 100 个起始位置。

第二行按升序输出这些对彼得有利的起始位置,用单个空格分隔。

数据范围与评分

保证始终至少有一个空闲扇区可供彼得选择,即 N<LN<L

评分分为 7 组。只有通过某组的所有测试,才能获得该组分数。

组别 分数 限制
1 10 $1\le N\le 100,\ 5\le L\le 500,\ 1\le v_i,v_{peter}\le 200$
2 $1\le N\le 300,\ 5\le L\le 10^9,\ 1\le v_i,v_{peter}\le 3000$
3 $1\le N\le 2000,\ 5\le L\le 10000,\ 1\le v_i,v_{peter}\le 10000$
4 $1\le N\le 2000,\ 5\le L\le 10^9,\ 1\le v_i,v_{peter}\le 10000$
5 20 $1\le N\le 50000,\ 5\le L\le 10^9,\ 1\le v_i,v_{peter}\le 10^9$
6 $1\le N\le 250000,\ 5\le L\le 10^9,\ 1\le v_i,v_{peter}\le 10^9$
7 $1\le N\le 1000000,\ 5\le L\le 10^9,\ 1\le v_i,v_{peter}\le 10^9$

样例 1

输入

2 5 3
5 5
3 6

输出

1 1/1
2

样例 1 解释

本例中有两辆车,起始扇区分别为 5 和 3。彼得的车速为 3,是比赛中最慢的车。赛道有 5 个扇区。

彼得的最佳起始位置是位置 2,这能让他参加:

253=1\frac{2}{5-3}=1

个时间单位,之后被编号为 1、速度为 5 的汽车追上。

彼得还可以选择位置 1 和 4,但它们分别只能让他参加:

153=12\frac{1}{5-3}=\frac12

4363=13\frac{4-3}{6-3}=\frac13

个时间单位。

样例 2

输入

4 8 6
1 1
4 7
5 1
8 7

输出

2 3/1
3 7

样例 2 解释

如果彼得从位置 3 或 7 出发,将在 3 个时间单位后被取消资格;如果从位置 2 或 4 出发,则会在 2 个时间单位后被取消资格。

样例 3

输入

2 20 10
2 7
8 9

输出

18 NEVER
1 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20

样例 3 解释

因为彼得拥有最快的汽车,所以他永远不会被取消资格,可以从任意空闲扇区出发。