CF1988E.Range Minimum Sum
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对于一个长度为 n 的数组 [a1,a2,…,an],定义 f(a) 为所有子区间的最小值之和。即,
f(a)=l=1∑nr=l∑nl≤i≤rminai。
一个排列是长度为 n 的整数序列,包含 1 到 n 的每个数字且每个数字恰好出现一次。给定一个排列 [a1,a2,…,an]。对于每个 i,独立地解决以下问题:
- 从 a 中删除 ai,将剩余部分拼接得到 b=[a1,a2,…,ai−1,ai+1,…,an]。
- 计算 f(b)。
输入格式
每个测试点包含多组测试数据。第一行包含测试用例个数 t(1≤t≤105)。
接下来每组测试数据描述如下:
第一行包含一个整数 n(1≤n≤5⋅105)。
第二行包含 n 个互不相同的整数 a1,…,an(1≤ai≤n)。
保证所有测试用例中 n 的总和不超过 106。
输出格式
对于每组测试数据,输出一行包含 n 个整数,第 i 个整数表示删除 ai 后 f(b) 的值。
输入输出样例
输入#1
4 1 1 3 3 1 2 5 4 2 1 5 3 8 8 1 4 6 7 3 5 2
输出#1
0 4 7 5 19 21 27 17 19 79 100 72 68 67 80 73 80
说明/提示
在第二个测试用例中,a=[3,1,2]。
- 删除 a1 后,b=[1,2],f(b)=1+2+min{1,2}=4。
- 删除 a2 后,b=[3,2],f(b)=3+2+min{3,2}=7。
- 删除 a3 后,b=[3,1],f(b)=3+1+min{3,1}=5。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?