A. 能源预算内的任务启动

能源预算内的任务启动

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目内容

在一个持续 n 天的项目周期内,有 n 个可选自动化任务,编号为 1n。第 i 个任务若被启动,会从第 i 天开始持续运行到第 n 天,并且每天消耗 eie_i 单位能源。项目总可用能源为 m 单位。

i 个任务的总能源开销为 ei×(ni+1)e_i \times (n - i + 1)。多个任务同时运行时,每天的总消耗等于当天运行任务的消耗之和。你希望选择若干个任务启动,使得总能源开销不超过 m,且启动的任务数量尽可能多。求最多可以启动的任务数量。

数据规模:1n1001 \le n \le 1001m1061 \le m \le 10^61ei1041 \le e_i \le 10^4

输入描述

第一行包含两个整数 nm,分别表示任务数量和能源总预算,满足 1n1001 \le n \le 1001m1061 \le m \le 10^6。 第二行包含 n 个整数 e1,e2,,ene_1, e_2, \ldots, e_n,表示按任务编号给出的每日能源消耗,满足 1ei1041 \le e_i \le 10^4

输出描述

输出一个整数,表示在总能源开销不超过 m 的前提下最多可以启动的任务数量。

样例1

输入

4 10
1 1 1 4

输出

3

说明

i 个任务的总开销为 ei×(ni+1)e_i \times (n - i + 1)

计算各任务总开销:

  • 任务 11×4=41 \times 4 = 4
  • 任务 21×3=31 \times 3 = 3
  • 任务 31×2=21 \times 2 = 2
  • 任务 44×1=44 \times 1 = 4

排序后总开销为 2, 3, 4, 4,预算为 10。前三个任务总开销 2 + 3 + 4 = 9 \le 10;再加入第四个任务后总开销为 13 > 10,超出预算。

因此最多可以启动 3 个任务。

样例2

输入

5 20
2 3 1 4 5

输出

3

说明

计算各任务总开销: 任务 12×5=102 \times 5 = 10 任务 23×4=123 \times 4 = 12 任务 31×3=31 \times 3 = 3 任务 44×2=84 \times 2 = 8 任务 55×1=55 \times 1 = 5

排序后为 3, 5, 8, 10, 12。预算为 20。 前一个任务和为 3 \le 20;前两个为 8 \le 20;前三个为 16 \le 20;前四个为 26 > 20

因此最多启动 3 个任务。

样例3

输入

3 1
5 4 3

输出

0

说明

计算各任务总开销: 任务 15×3=155 \times 3 = 15 任务 24×2=84 \times 2 = 8 任务 33×1=33 \times 1 = 3

即使选择总开销最小的任务 3,也需要 3 单位能源,而预算只有 1 单位。 因为 3 > 1,无法启动任何任务。

因此最多启动 0 个任务。

秋招模拟赛第36场|2023.07.7-字节实习

Not Attended
Status
Done
Rule
IOI
Problem
2
Start at
2023-7-26 19:00
End at
2023-7-26 20:00
Duration
1 hour(s)
Host
Partic.
18