407729: GYM102888 D 颤弦蝾螈与PCPC

Memory Limit:512 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

D. 颤弦蝾螈与PCPCtime limit per test1 secondmemory limit per test512 megabytesinputstandard inputoutputstandard output

一年一度的宝可梦中心程序设计竞赛(Pokemon Center Programming Contest, PCPC)开幕啦!今年的比赛中,890 只宝可梦将汇聚在宝可梦中心,在 t 分钟的时间内,用自己的智慧解决总共 n 道程序设计难题。

比赛排名的方式是这样的:解出题目数量不同的两只宝可梦,数量较多的排名靠前;解出题目数量相同的两只宝可梦,罚时少的排名靠前。罚时是指所有解出的题目通过时间之和,再加上所有解出的题目在通过之前错误提交的次数乘以 k(时间单位均为分钟)。

颤弦蝾螈作为去年 PCPC 的卫冕冠军,自然也来参加了今年的比赛。但是他有一个很严重的缺点——粗心。在做每道题时,颤弦蝾螈都会要么会看错一次题面,要么写出一个 bug 然后在提交后收获一个 Wrong Answer

具体来说,颤弦蝾螈在做第 i 道题时的情景是这样的:作为 PCPC 中传说般的存在,他会用 x 分钟读完并"解决"这道题(x 对于每道题相同)。接下来有两种可能的情况:

  1. 他发现自己的代码无法通过样例,进而发现自己读错了题。因此他需要花 x 分钟重做这道题目,之后他提交的代码一定可以通过这道题。
  2. 他的代码通过了样例,但是提交后收获了一个 Wrong Answer。因此他需要花 ai 分钟 debug,之后他提交的代码一定可以通过这道题。

现在,颤弦蝾螈的好朋友皮卡丘希望知道颤弦蝾螈在这场比赛中可能取得的最好成绩。也就是说,他希望知道颤弦蝾螈在所有可能的做题顺序以及所有可能的出错方式下,在 t 分钟内最多可以解出多少道题。在解出最多题目的前提下,他希望知道颤弦蝾螈的罚时最少可以是多少。

请参看 Notes 以进一步理解题意。

Input

第一行包含四个整数 n, t, x, kn 表示题目数量,t 表示比赛的时长,x 表示颤弦蝾螈做一道题所需时间,k 表示一次错误提交的罚时(时间单位均为分钟)。保证 1 ≤ n ≤ 105, 1 ≤ t ≤ 1013, 1 ≤ x, k ≤ 108

接下来一行包含 n 个整数给出颤弦蝾螈 debug 每道题所需的时间,第 i 个整数为 ai,即第 i 题 debug 的时间。保证 1 ≤ ai ≤ 2 × 108

Output

输出一行包含两个整数,分别表示颤弦蝾螈可解出的最多题目数量,以及解出最多题目的前提下最少的罚时。两个整数之间以一个空格分隔。

ExamplesInput
3 70 20 20
10 20 30
Output
2 120
Input
4 1000 10 20
20 10 40 30
Output
4 200
Note

对于第一个样例,一种最优解如下:颤弦蝾螈按照 1, 2, 3 的顺序做题,第 1 题提交错误,第 2 题读错。那么他会在 20 + 10 = 30 分钟通过第 1 题,在 30 + 20 + 20 = 70 分钟通过第 2 题。总罚时为 30 + 70 + 20 × 1 = 120 分钟。

对于第二个样例,一种最优解如下:颤弦蝾螈按照 2, 1, 4, 3 的顺序做题,每道题都读错。那么他会在 20, 40, 60, 80 分钟分别通过第 2, 1, 4, 3 题。总罚时为 20 + 40 + 60 + 80 = 200 分钟。

加入题单

算法标签: