Rabbit的工作(2)
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

Rabbit通过了上次boss的考核,现在她又遇到了一个问题。
Rabbit接到了K个任务,每个任务她可以自由选择用i天去完成(1≤ i≤ N)。刁钻的boss想让Rabbit恰好用W天完成所有任务。
已知Rabbit用i天完成一个任务能让boss获得的满意度为vi(因为完成任务的质量不同),她想知道在满足boss要求的情况下能让boss获得的总满意度最大是多少。

输入描述:

第一行三个整数N,K,W。
第二行N个整数vi,vi表示用i天完成一个任务能让boss获得的满意度。

输出描述:

输出Rabbit在满足boss要求的情况下能让boss获得的总满意度最大是多少。
示例1

输入

复制
3 3 5
6 2 4

输出

复制
16

说明

Rabbit可以选择分别用1天,1天,3天完成这三个任务,最大满意度为6+6+4=16

备注:

2≤ N,K≤ 2000,K≤ W≤ min(4000,2*K)
0<vi≤ 10000