CF1951C.Ticket Hoarding

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

作为一家初创公司的 CEO,你希望奖励你的 kk 名员工每人一张即将到来的演唱会门票。门票将在 nn 天内发售,通过时空穿梭,你已经预测到第 ii 天每张门票的价格为 aia_i。然而,为了防止门票被囤积,演唱会主办方实施了如下措施:

  • 每人每天最多只能购买 mm 张门票。
  • 如果某人在第 ii 天购买了 xx 张门票,则从第 i+1i+1 天起,之后所有天数的每张门票价格都会增加 xx。

例如,若 a=[1,3,8,4,5]a = [1, 3, 8, 4, 5],你在第 11 天购买了 22 张门票,总花费为 22,从第 22 天起的价格变为 [5,10,6,7][5, 10, 6, 7]。如果你在第 22 天又购买了 33 张门票,则额外花费 1515,从第 33 天起的价格变为 [13,9,10][13, 9, 10]。

请你计算,购买 kk 张门票所需的最小总花费。

输入格式

每个测试用例包含多组数据。第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例的组数。接下来是每组测试用例的描述。

每组测试用例的第一行包含三个整数 nn、mm 和 kk(1≤n≤3⋅105,1≤m≤109,1≤k≤min⁡(nm,109)1 \le n \le 3 \cdot 10^5, 1 \le m \le 10^9, 1 \le k \le \min(nm, 10^9)),分别表示发售天数、每天最多可购买的门票数,以及最终需要购买的门票总数。

每组测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤1091 \le a_i \le 10^9),表示未来 nn 天每张门票的价格。

保证所有测试用例中 nn 的总和不超过 3⋅1053 \cdot 10^5。

输出格式

对于每组测试用例,输出一个整数,表示恰好购买 kk 张门票所需的最小总花费。

输入输出样例

  • 输入#1

    4
    4 2 3
    8 6 4 2
    4 2 8
    8 6 4 2
    5 100 1
    10000 1 100 10 1000
    6 3 9
    5 5 5 5 5 5

    输出#1

    10
    64
    1
    72

说明/提示

在第一个测试用例中,购买 33 张门票的一种最优方案如下:

  • 第一天不买票。剩余天数的价格为 [6,4,2][6, 4, 2]。
  • 第二天不买票。剩余天数的价格为 [4,2][4, 2]。
  • 第三天买 11 张门票,花费 44。剩余一天的价格为 [3][3]。
  • 第四天买 22 张门票,花费 66。

在第二个测试用例中,购买 88 张门票只有一种方式:

  • 第一天买 22 张门票,花费 1616。剩余天数的价格为 [8,6,4][8, 6, 4]。
  • 第二天买 22 张门票,花费 1616。剩余天数的价格为 [8,6][8, 6]。
  • 第三天买 22 张门票,花费 1616。剩余一天的价格为 [8][8]。
  • 第四天买 22 张门票,花费 1616。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页