#P16189. [Ncpc2017]Airport Coffee机场咖啡

[Ncpc2017]Airport Coffee机场咖啡

题目描述

Jonna 经常坐飞机去参加程序设计比赛。她刚到达哥本哈根机场,需要赶去另一个登机口转机。由于前一班航班延误,她必须尽快从到达登机口走到出发登机口。

正常情况下,Jonna 的行走速度为 aa 厘米/秒;当她正在喝咖啡时,速度会提高到 bb 厘米/秒。机场两登机口之间的距离为 \ell 厘米,途中有 nn 个小咖啡车。

在某个咖啡车买咖啡后,她需要先等待 tt 秒让咖啡冷却。在这 tt 秒内她仍以较慢速度 aa 行走。等待结束后,她开始喝咖啡,喝完一杯咖啡恰好需要 rr 秒;在这 rr 秒内,她以较快速度 bb 行走。咖啡喝完后,她又恢复到速度 aa

Jonna 左手提着包,所以一次最多只能拿一杯咖啡。不过,她可以把尚未喝完的咖啡扔掉,然后在当前咖啡车购买新咖啡。

请你选择她应该在哪些咖啡车购买咖啡,使她到达出发登机口所需时间最短。

输入格式

第一行包含五个整数 ,a,b,t,r\ell,a,b,t,r

  • 110111\le \ell\le 10^{11},表示两登机口之间的距离,单位为厘米;
  • 1a<b2001\le a<b\le 200,分别表示不喝咖啡和喝咖啡时的速度,单位为厘米/秒;
  • 0t3000\le t\le 300,表示咖啡冷却所需秒数;
  • 1r12001\le r\le 1200,表示喝完一杯咖啡所需秒数。

第二行包含一个整数 nn,表示途中咖啡车数量,满足 0n5000000\le n\le 500000

第三行包含 nn 个整数,表示各咖啡车的位置。这些位置按距离出发登机口从近到远递增给出,每个位置都在 [0,][0,\ell] 内,且没有两个咖啡车位置相同。

输出格式

第一行输出一个整数,表示 Jonna 应该购买咖啡的咖啡车数量。

第二行输出这些咖啡车的下标。咖啡车按输入顺序从 00n1n-1 编号。输出顺序任意,但每个下标最多出现一次。

如果你给出的购买方案所用时间与最优时间的绝对误差或相对误差不超过 10910^{-9},则会被接受。

样例说明图

输入输出样例 #1

输入 #1

100000 100 138 60 300
5
5000 20000 50000 55000 75000

输出 #1

2
0 3

输入输出样例 #2

输入 #2

100000 78 86 9 560
4
13505 69705 87448 92090

输出 #2

2
0 1