309770: CF1733A. Consecutive Sum

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Consecutive Sum

题意翻译

## 题意翻译 给定一个长度为 $ n $ 的数组 $ a $,你可以进行最多 $ k $ 次下面的操作 - 选择两个索引 $ i $ 和 $ j $ , 满足 $ i \,\bmod\, k = j \,\bmod\, k $ ( $ 1 \le i < j \le n $ ). - 交换 $ a_i $ 和 $ a_j $ . 在进行完你的操作之后(不必用完 $ k $ 次操作的机会),你需要在数组中选择一段长度为 $ k $ 的区间,此区间的各个元素的和即为你的分数,请求出你能得到的最大分数

题目描述

You are given an array $ a $ with $ n $ integers. You can perform the following operation at most $ k $ times: - Choose two indices $ i $ and $ j $ , in which $ i \,\bmod\, k = j \,\bmod\, k $ ( $ 1 \le i < j \le n $ ). - Swap $ a_i $ and $ a_j $ . After performing all operations, you have to select $ k $ consecutive elements, and the sum of the $ k $ elements becomes your score. Find the maximum score you can get. Here $ x \bmod y $ denotes the remainder from dividing $ x $ by $ y $ .

输入输出格式

输入格式


The first line contains one integer $ t $ ( $ 1 \le t \le 600 $ ) — the number of test cases. Each test case consists of two lines. The first line of each test case contains two integers $ n $ and $ k $ ( $ 1 \le k \le n \le 100 $ ) — the length of the array and the number in the statement above. The second line of each test case contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ 0 \le a_i \le 10^9 $ ) — the array itself.

输出格式


For each test case, print the maximum score you can get, one per line.

输入输出样例

输入样例 #1

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

输出样例 #1

11
7
15
10
2999999997

说明

In the first test case, we can get a score of $ 11 $ if we select $ a_1, a_2 $ without performing any operations. In the third test case, we can get a score of $ 15 $ if we first swap $ a_1 $ with $ a_4 $ and then select $ a_3, a_4, a_5 $ .

Input

题意翻译

## 题意翻译 给定一个长度为 $ n $ 的数组 $ a $,你可以进行最多 $ k $ 次下面的操作 - 选择两个索引 $ i $ 和 $ j $ , 满足 $ i \,\bmod\, k = j \,\bmod\, k $ ( $ 1 \le i < j \le n $ ). - 交换 $ a_i $ 和 $ a_j $ . 在进行完你的操作之后(不必用完 $ k $ 次操作的机会),你需要在数组中选择一段长度为 $ k $ 的区间,此区间的各个元素的和即为你的分数,请求出你能得到的最大分数

Output

题目大意:
给定一个长度为 $ n $ 的数组 $ a $,你可以进行最多 $ k $ 次下面的操作:
- 选择两个索引 $ i $ 和 $ j $ ,满足 $ i \,\bmod\, k = j \,\bmod\, k $ ($ 1 \le i < j \le n $)。
- 交换 $ a_i $ 和 $ a_j $ 。
在进行完你的操作之后(不必用完 $ k $ 次操作的机会),你需要在数组中选择一段长度为 $ k $ 的区间,此区间的各个元素的和即为你的分数,请求出你能得到的最大分数。

输入输出数据格式:
输入格式:
- 第一行包含一个整数 $ t $ ($ 1 \le t \le 600 $) —— 测试用例的数量。
- 每个测试用例包含两行。
- 每个测试用例的第一行包含两个整数 $ n $ 和 $ k $ ($ 1 \le k \le n \le 100 $) —— 数组的长度和在题目描述中提到的数字。
- 每个测试用例的第二行包含 $ n $ 个整数 $ a_1, a_2, \ldots, a_n $ ($ 0 \le a_i \le 10^9 $) —— 数组本身。

输出格式:
- 对于每个测试用例,打印你能得到的最大分数,每个测试用例的结果占一行。题目大意: 给定一个长度为 $ n $ 的数组 $ a $,你可以进行最多 $ k $ 次下面的操作: - 选择两个索引 $ i $ 和 $ j $ ,满足 $ i \,\bmod\, k = j \,\bmod\, k $ ($ 1 \le i < j \le n $)。 - 交换 $ a_i $ 和 $ a_j $ 。 在进行完你的操作之后(不必用完 $ k $ 次操作的机会),你需要在数组中选择一段长度为 $ k $ 的区间,此区间的各个元素的和即为你的分数,请求出你能得到的最大分数。 输入输出数据格式: 输入格式: - 第一行包含一个整数 $ t $ ($ 1 \le t \le 600 $) —— 测试用例的数量。 - 每个测试用例包含两行。 - 每个测试用例的第一行包含两个整数 $ n $ 和 $ k $ ($ 1 \le k \le n \le 100 $) —— 数组的长度和在题目描述中提到的数字。 - 每个测试用例的第二行包含 $ n $ 个整数 $ a_1, a_2, \ldots, a_n $ ($ 0 \le a_i \le 10^9 $) —— 数组本身。 输出格式: - 对于每个测试用例,打印你能得到的最大分数,每个测试用例的结果占一行。

加入题单

算法标签: