AT_s8pc_1_e.散歩 (E869120 and Path Length)

通过率:0%

AC君温馨提醒

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

题目描述

在 E869120 王国中,有 NN 个城镇。城镇 i−1i-1 和城镇 ii 之间有道路相连。

每个城镇 ii 上标注了一个整数 aia_i,连接城镇 i−1i-1 和城镇 ii 的道路长度用公式 ai−1×aia_{i-1} \times a_i 计算。

E869120 王国的居民 square1001 想去散步。square1001 住在城镇 1,他的计划是按照路径 1→c1→c2→…→cQ→11 \rightarrow c_1 \rightarrow c_2 \rightarrow \ldots \rightarrow c_Q \rightarrow 1 行走。

为了避免 square1001 走太远,我们需要帮助他计算总行走的距离,并对结果取模 1,000,000,0071,000,000,007。

输入格式

输入数据包括:

  • 第一行包含两个整数 NN 和 QQ,分别表示城镇的总数和旅途经过的城镇数。
  • 第二行包含 NN 个整数 a1,a2,…,aNa_1, a_2, \ldots, a_N,表示每个城镇上标注的数字。
  • 第三行包含 QQ 个整数 c1,c2,…,cQc_1, c_2, \ldots, c_Q,表示 square1001 的散步路径。

输出格式

输出行走的总距离对 1,000,000,0071,000,000,007 取模后的结果。在输出末尾添加换行符。

输入输出样例

  • 输入#1

    4 3
    5 3 1 2
    3 2 4

    输出#1

    264
  • 输入#2

    3 2
    23 12 9
    2 3

    输出#2

    876796540
  • 输入#3

    2 1
    1000000000 1000000000
    2

    输出#3

    625113690

说明/提示

约束条件

  • 2≤N≤120,0002 \leq N \leq 120,000
  • 1≤Q≤120,0001 \leq Q \leq 120,000
  • 0≤ai≤1,000,000,0000 \leq a_i \leq 1,000,000,000
  • 1≤ci≤N1 \leq c_i \leq N
  • ci−1≠cic_{i-1} \neq c_i
  • 若 ai=0a_i = 0,则 ai+1≠0a_{i+1} \neq 0

部分得分

  • 对于 1≤N≤1,0001 \leq N \leq 1,000 且 1≤Q≤1,0001 \leq Q \leq 1,000 且 1≤ai≤1,0001 \leq a_i \leq 1,000 的测试用例,获得 15 分。
  • 对于 1≤N≤1,0001 \leq N \leq 1,000 且 1≤Q≤1,0001 \leq Q \leq 1,000 的测试用例,获得 50 分。
  • 对于所有测试用例,若答对全部给 100 分。

示例解释 1

  • 第一次,square1001 从城镇 1 行至城镇 3,走的距离是 5×3+3×1=1285 \times 3 + 3 \times 1 = 128。
  • 第二次,从城镇 3 行至城镇 2,走的距离是 3×1=33 \times 1 = 3。
  • 第三次,从城镇 2 行至城镇 4,走的距离是 3×1+1×2=43 \times 1 + 1 \times 2 = 4。
  • 第四次,从城镇 4 回到城镇 1,走的距离是 1×2+3×1+5×3=1291 \times 2 + 3 \times 1 + 5 \times 3 = 129。
  • 因此,square1001 总共走了 264264。

示例解释 2

square1001 在一趟行程中走了 43,829,259,183,601,34643,829,259,183,601,346,因此结果对 1,000,000,0071,000,000,007 取模为 876,796,540876,796,540。

本翻译由 AI 自动生成

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

首页