小 X 发现,店里总共有 n 种甜品,而他想挑选其中的 k 种,并按照一定的顺序来品尝。
每种甜品都有一个美味值 ai,小 X 吃甜品的顺序是有讲究的,他不想使连续两种甜品之间的美味值相差太小,不然他将无法品味出两种甜品之间的差别;但他也不想使连续两种甜品之间的美味值相差太大,否则他将受不了这巨大的味觉冲击。他十分纠结,不知道该如何选择,于是他向你求助。
你要从 n 种甜品中选择 k 种甜品,并且第 i 种甜品( i∈[2,k])需要满足如下两个条件:
第 i 种甜品的美味值必须大于等于第 i−1 种甜品的 l 倍。
第 i 种甜品的美味值必须小于等于第 i−1 种甜品的 r 倍。
问现在你有多少种方案?k 种甜品的美味值之和最大为多少?
因为答案太大,所以两个问题你都需要对 1000000007(109+7) 取模。
第一行:四个正整数:n,k,l,r。
第二行:n 个正整数:ai。
第一行一个整数,表示总方案数。
第二行一个整数,表示美味值之和的最大值。
若没有答案,均直接输出 0 。
4 3 2 3 7 5 3 1
1 11
5 2 4 4 1 4 5 20 80
3 100
20 3 2 5 88 24 35 53 5 44 45 30 29 43 46 33 21 24 64 43 23 71 63 53
33 153
5 5 2 4 1 2 3 4 5
0 0
对于 100% 的数据,k≤10,k≤n≤2×106,1≤l≤r≤10,ai≤109。