CF1420C1.Pokémon Army (easy version)

普及-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

This is the easy version of the problem. The difference between the versions is that the easy version has no swap operations. You can make hacks only if all versions of the problem are solved.

Pikachu is a cute and friendly pokémon living in the wild pikachu herd.

But it has become known recently that infamous team R wanted to steal all these pokémon! Pokémon trainer Andrew decided to help Pikachu to build a pokémon army to resist.

First, Andrew counted all the pokémon — there were exactly nn pikachu. The strength of the ii-th pokémon is equal to aia_i, and all these numbers are distinct.

As an army, Andrew can choose any non-empty subsequence of pokemons. In other words, Andrew chooses some array bb from kk indices such that 1≤b1<b2<⋯<bk≤n1 \le b_1 \lt b_2 \lt \dots \lt b_k \le n, and his army will consist of pokémons with forces ab1,ab2,…,abka_{b_1}, a_{b_2}, \dots, a_{b_k}.

The strength of the army is equal to the alternating sum of elements of the subsequence; that is, ab1−ab2+ab3−ab4+…a_{b_1} - a_{b_2} + a_{b_3} - a_{b_4} + \dots.

Andrew is experimenting with pokémon order. He performs qq operations. In ii-th operation Andrew swaps lil_i-th and rir_i-th pokémon.

Note: q=0q=0 in this version of the task.

Andrew wants to know the maximal stregth of the army he can achieve with the initial pokémon placement. He also needs to know the maximal strength after each operation.

Help Andrew and the pokémon, or team R will realize their tricky plan!

这是该问题的简单版本。两个版本的区别在于,简单版本中没有交换操作。只有当该问题的所有版本均被解决时,才允许进行 hack。

皮卡丘是一种可爱又友善的宝可梦,生活在野生皮卡丘群落中。

但最近人们得知,臭名昭著的火箭队企图偷走所有这些宝可梦!训练家安德鲁决定帮助皮卡丘组建一支宝可梦军队来抵抗。

首先,安德鲁清点了所有宝可梦——恰好有 nn 只皮卡丘。第 ii 只皮卡丘的力量值为 aia_i,且所有这些数值互不相同。

作为一支军队,安德鲁可以任选一个非空子序列(即从原序列中选出若干元素,保持其原有顺序)。换言之,安德鲁选择一个由 kk 个下标组成的数组 bb,满足 1≤b1<b2<⋯<bk≤n1 \le b_1 \lt b_2 \lt \dots \lt b_k \le n,则他的军队将由力量值分别为 ab1,ab2,…,abka_{b_1}, a_{b_2}, \dots, a_{b_k} 的宝可梦组成。

军队的总力量定义为该子序列元素的交错和(alternating sum),即:

ab1−ab2+ab3−ab4+…a_{b_1} - a_{b_2} + a_{b_3} - a_{b_4} + \dots

安德鲁正在尝试调整宝可梦的排列顺序。他执行 qq 次操作;在第 ii 次操作中,安德鲁交换第 lil_i 只与第 rir_i 只宝可梦的位置。

注意:在此版本的任务中,q=0q = 0。

安德鲁希望知道,在初始宝可梦排列下,他所能达到的最大军队力量值。此外,他还需知道每次操作后所能达到的最大军队力量值。

请帮助安德鲁和皮卡丘们吧,否则火箭队将实现他们险恶的阴谋!

输入格式

Each test contains multiple test cases.

The first line contains one positive integer tt (1≤t≤1031 \le t \le 10^3) denoting the number of test cases. Description of the test cases follows.

The first line of each test case contains two integers nn and qq (1≤n≤3⋅105,q=01 \le n \le 3 \cdot 10^5, q = 0) denoting the number of pokémon and number of operations respectively.

The second line contains nn distinct positive integers a1,a2,…,ana_1, a_2, \dots, a_n (1≤ai≤n1 \le a_i \le n) denoting the strengths of the pokémon.

ii-th of the last qq lines contains two positive integers lil_i and rir_i (1≤li≤ri≤n1 \le l_i \le r_i \le n) denoting the indices of pokémon that were swapped in the ii-th operation.

It is guaranteed that the sum of nn over all test cases does not exceed 3⋅1053 \cdot 10^5, and the sum of qq over all test cases does not exceed 3⋅1053 \cdot 10^5.

每个测试包含多个测试用例。

第一行包含一个正整数 tt(1≤t≤1031 \le t \le 10^3),表示测试用例的数量。随后是各测试用例的描述。

每个测试用例的第一行包含两个整数 nn 和 qq(1≤n≤3⋅105, q=01 \le n \le 3 \cdot 10^5,\ q = 0),分别表示宝可梦的数量和操作次数。

第二行包含 nn 个互不相同的正整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤n1 \le a_i \le n),表示各宝可梦的战斗力。

接下来的 qq 行中,第 ii 行包含两个正整数 lil_i 和 rir_i(1≤li≤ri≤n1 \le l_i \le r_i \le n),表示第 ii 次操作中被交换位置的宝可梦的下标。

保证所有测试用例的 nn 之和不超过 3⋅1053 \cdot 10^5,且所有测试用例的 qq 之和不超过 3⋅1053 \cdot 10^5。

输出格式

For each test case, print q+1q+1 integers: the maximal strength of army before the swaps and after each swap.

对于每个测试用例,输出 q+1q+1 个整数:交换前军队的最大战力,以及每次交换后的最大战力。

输入输出样例

  • 输入#1

    3
    3 0
    1 3 2
    2 0
    1 2
    7 0
    1 2 5 4 3 6 7

    输出#1

    3
    2
    9

说明/提示

In third test case we can build an army in such way: [1 2 5 4 3 6 7], its strength will be 5−3+7=95−3+7=9.

在第三个测试用例中,我们可以按如下方式组建军队:[1\ 2\ 5\ 4\ 3\ 6\ 7],其战力为 5−3+7=95−3+7=9。

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

首页