CF2028C.Alice's Adventures in Cutting Cake
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
爱丽丝参加了疯帽子的茶话会!有一块长长的蛋糕,由 n 个部分组成,每个部分的美味度值为 a1,a2,…,an 。茶话会上共有 m 个生物,但不包括爱丽丝。
爱丽丝将把蛋糕切成 m+1 块。正式地说,她将把蛋糕分成 m+1 个子串,每个子串由一定数量的相邻部分组成。一块蛋糕的美味度是其各部分美味度的总和。之后,她会将这些 m+1 块蛋糕分给 m 个生物和她自己(她的那块蛋糕可以是空的)。但是,只有当每个 m 个生物的蛋糕美味度达到或超过 v 时,它们才会感到高兴。
Alice 想要确保每个生物都快乐。受此条件限制,她还想最大化自己的那块食物的美味程度。你能帮助 Alice 找到她的那块食物可以达到的最大美味程度吗?如果没有办法确保每个生物都快乐,则输出 −1 。
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量 t ( 1≤t≤104 )。测试用例的描述如下。
每个测试用例的第一行包含三个整数 n,m,v ( 1≤m≤n≤2⋅105 ; 1≤v≤109 ) — 分别表示部分数量、生物数量和生物对美味的最低要求。
下一行包含 n 个空格分隔的整数 a1,a2,…,an ( 1≤ai≤109 ) — 部分美味程度。
所有测试用例的总和 n 不超过 2⋅105 。
输出格式
对于每个测试用例,输出 Alice 可以达到的最大美味程度,或者如果没有办法确保每个生物都开心,则输出 −1 。
样例解释
对于第一个测试案例,爱丽丝可以将第一和第二部分作为自己的部分,然后将剩余的 10+1+1+10=22 美味度留给自己。我们可以证明她不能做得更好。
对于第二个测试案例,爱丽丝可以将第一和第二部分作为一个部分,将第六部分作为一个部分。然后她可以为自己拿走剩余的 10+1+1=12 美味度。我们可以证明她不能做得更好。
对于第七个测试案例,爱丽丝不能给每个生物至少 12 美味度的部分。
输入输出样例
输入#1
7 6 2 1 1 1 10 1 1 10 6 2 2 1 1 10 1 1 10 6 2 3 1 1 10 1 1 10 6 2 10 1 1 10 1 1 10 6 2 11 1 1 10 1 1 10 6 2 12 1 1 10 1 1 10 6 2 12 1 1 1 1 10 10
输出#1
22 12 2 2 2 0 -1
输入解题思路,AI测评打分。不知道怎么写?