CF862E.Mahmoud and Ehab and the function

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

Dr. Evil is interested in math and functions, so he gave Mahmoud and Ehab array a of length n and array b of length m. He introduced a function f(j) which is defined for integers j, which satisfy 0 ≤ j ≤ m - n. Suppose, c__i = a__i - b__i + j. Then f(j) = |_c_1 - _c_2 + _c_3 - _c_4... c__n|. More formally, .

Dr. Evil wants Mahmoud and Ehab to calculate the minimum value of this function over all valid j. They found it a bit easy, so Dr. Evil made their task harder. He will give them q update queries. During each update they should add an integer x__i to all elements in a in range [l__i;r__i] i.e. they should add x__i to a__l__i, a__l__i + 1, ... , a__r__i and then they should calculate the minimum value of f(j) for all valid j.

Please help Mahmoud and Ehab.

邪恶博士对数学和函数很感兴趣,因此他给了马哈茂德和埃哈布一个长度为 $ n $ 的数组 $ a $ 和一个长度为 $ m $ 的数组 $ b $。他定义了一个函数 $ f(j) $,其定义域为满足 $ 0 \leq j \leq m - n $ 的整数 $ j $。设 $ c_i = a_i - b_{i + j} $,则

f(j)=∣c1−c2+c3−c4+⋯±cn∣.f(j) = |c_1 - c_2 + c_3 - c_4 + \cdots \pm c_n|.

更形式化地,
。

邪恶博士希望马哈茂德和埃哈布计算该函数在所有合法 $ j $ 上的最小值。他们发现这题有点简单,于是邪恶博士加大了难度:他会给出 $ q $ 个更新操作。每次更新时,他们需将整数 $ x_i $ 加到数组 $ a $ 的区间 $ [l_i, r_i] $ 内的所有元素上(即对每个 $ k \in [l_i, r_i] $,执行 $ a_k \gets a_k + x_i $),然后重新计算所有合法 $ j $ 对应的 $ f(j) $ 的最小值。

请帮助马哈茂德和埃哈布解决这个问题。

输入格式

The first line contains three integers n, m and q (1 ≤ n ≤ m ≤ 105, 1 ≤ q ≤ 105) — number of elements in a, number of elements in b and number of queries, respectively.

The second line contains n integers _a_1, _a_2, ..., a__n. ( - 109 ≤ a__i ≤ 109) — elements of a.

The third line contains m integers _b_1, _b_2, ..., b__m. ( - 109 ≤ b__i ≤ 109) — elements of b.

Then q lines follow describing the queries. Each of them contains three integers l__i r__i x__i (1 ≤ l__i ≤ r__i ≤ n,  - 109 ≤ x ≤ 109) — range to be updated and added value.

第一行包含三个整数 nn、mm 和 qq(1 ≤ n ≤ m ≤ 1051 ≤ n ≤ m ≤ 10^5,1 ≤ q ≤ 1051 ≤ q ≤ 10^5),分别表示数组 aa 的元素个数、数组 bb 的元素个数以及查询次数。

第二行包含 nn 个整数 a1, a2, ..., ana_1,\,a_2,\,...,\,a_n(−109 ≤ ai ≤ 109-10^9 ≤ a_i ≤ 10^9),表示数组 aa 的元素。

第三行包含 mm 个整数 b1, b2, ..., bmb_1,\,b_2,\,...,\,b_m(−109 ≤ bi ≤ 109-10^9 ≤ b_i ≤ 10^9),表示数组 bb 的元素。

接下来 qq 行,每行描述一个查询。每行包含三个整数 lil_i、rir_i、xix_i(1 ≤ li ≤ ri ≤ n1 ≤ l_i ≤ r_i ≤ n,−109 ≤ xi ≤ 109-10^9 ≤ x_i ≤ 10^9),表示待更新的区间及要加上的值。

输出格式

The first line should contain the minimum value of the function f before any update.

Then output q lines, the i-th of them should contain the minimum value of the function f after performing the i-th update .

第一行应包含在任何更新之前函数 ff 的最小值。

随后输出 qq 行,其中第 ii 行应包含执行第 ii 次更新后函数 ff 的最小值。

输入输出样例

  • 输入#1

    5 6 3
    1 2 3 4 5
    1 2 3 4 5 6
    1 1 10
    1 1 -9
    1 5 -1

    输出#1

    0
    9
    0
    0

说明/提示

For the first example before any updates it's optimal to choose j = 0, f(0) = |(1 - 1) - (2 - 2) + (3 - 3) - (4 - 4) + (5 - 5)| = |0| = 0.

After the first update a becomes {11, 2, 3, 4, 5} and it's optimal to choose j = 1, f(1) = |(11 - 2) - (2 - 3) + (3 - 4) - (4 - 5) + (5 - 6) = |9| = 9.

After the second update a becomes {2, 2, 3, 4, 5} and it's optimal to choose j = 1, f(1) = |(2 - 2) - (2 - 3) + (3 - 4) - (4 - 5) + (5 - 6)| = |0| = 0.

After the third update a becomes {1, 1, 2, 3, 4} and it's optimal to choose j = 0, f(0) = |(1 - 1) - (1 - 2) + (2 - 3) - (3 - 4) + (4 - 5)| = |0| = 0.

对于第一个样例,在任何更新之前,选择 j=0j = 0 是最优的,此时 f(0)=∣(1−1)−(2−2)+(3−3)−(4−4)+(5−5)∣=∣0∣=0f(0) = |(1 - 1) - (2 - 2) + (3 - 3) - (4 - 4) + (5 - 5)| = |0| = 0。

第一次更新后,数组 aa 变为 {11,2,3,4,5}\{11, 2, 3, 4, 5\},此时选择 j=1j = 1 是最优的,f(1)=∣(11−2)−(2−3)+(3−4)−(4−5)+(5−6)∣=∣9∣=9f(1) = |(11 - 2) - (2 - 3) + (3 - 4) - (4 - 5) + (5 - 6)| = |9| = 9。

第二次更新后,数组 aa 变为 {2,2,3,4,5}\{2, 2, 3, 4, 5\},此时选择 j=1j = 1 是最优的,f(1)=∣(2−2)−(2−3)+(3−4)−(4−5)+(5−6)∣=∣0∣=0f(1) = |(2 - 2) - (2 - 3) + (3 - 4) - (4 - 5) + (5 - 6)| = |0| = 0。

第三次更新后,数组 aa 变为 {1,1,2,3,4}\{1, 1, 2, 3, 4\},此时选择 j=0j = 0 是最优的,f(0)=∣(1−1)−(1−2)+(2−3)−(3−4)+(4−5)∣=∣0∣=0f(0) = |(1 - 1) - (1 - 2) + (2 - 3) - (3 - 4) + (4 - 5)| = |0| = 0。

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

首页