CF2009F.Firefly's Queries
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Firefly 有一个长度为 n 的数组 a。令 ci 表示 a 的第 i 次循环移位∗。她创建了一个新数组 b,使得 b=c1+c2+⋯+cn,其中 + 表示拼接†。
接着,她会给你 q 个询问。对于每个询问,输出 b 的从第 l 个元素到第 r 个元素(包括两端)组成的子数组的所有元素之和。
∗ 数组 a 的第 x 次循环移位(1≤x≤n)为 ax,ax+1,…,an,a1,a2,…,ax−1。注意,第 1 次移位就是原始的 a。
† 两个长度为 n 的数组 p 和 q 的拼接(即 p+q)为 p1,p2,...,pn,q1,q2,...,qn。
输入格式
第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例的第一行包含两个整数 n 和 q(1≤n,q≤2⋅105),分别表示数组的长度和询问的数量。
接下来一行包含 n 个整数 a1,a2,...,an(1≤ai≤106)。
接下来的 q 行,每行包含两个整数 l 和 r(1≤l≤r≤n2),表示询问的区间左右端点。
保证所有测试用例中 n 的总和不超过 2⋅105,q 的总和不超过 2⋅105。
输出格式
对于每个询问,输出一个答案,每行一个。
输入输出样例
输入#1
5 3 3 1 2 3 1 9 3 5 8 8 5 5 4 8 3 2 4 1 14 3 7 7 10 2 11 1 25 1 1 6 1 1 5 7 3 1 6 10 4 3 21 6 17 2 2 1 5 1 14 9 15 12 13 5 3 4 9 10 10 1 20 25 3 11 20 22
输出#1
18 8 1 55 20 13 41 105 6 96 62 1 24 71 31 14 44 65 15
说明/提示
对于第一个测试用例,b=[1,2,3,2,3,1,3,1,2]。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?