Solution - 1733A. Consecutive Sum

 Solution - 1733A. Consecutive Sum  

A. Consecutive Sum

time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

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 imodk=jmodk (1i<jn).
  • Swap ai and aj.

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 xmody denotes the remainder from dividing x by y.

Input

The first line contains one integer t (1t600) — 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 (1kn100) — the length of the array and the number in the statement above.

The second line of each test case contains n integers a1,a2,,an (0ai109)  — the array itself.

Output

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

Example
input
Copy
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
output
Copy
11
7
15
10
2999999997
Note

In the first test case, we can get a score of 11 if we select a1,a2 without performing any operations.

In the third test case, we can get a score of 15 if we first swap a1 with a4 and then select a3,a4,a5.



→ Source
  1. #include<bits/stdc++.h>
    #define endl '\n'
    using namespace std;
    long long k, n, s, t, x, a[100005];
    int main()
    {
        ios::sync_with_stdio(0);
        cin.tie(0);
        for(cin >> t; t--;)
        {
            cin >> n >> k;
            for(int i = 1; i <= n; i++)
            {
                cin >> x;
                a[i % k] = max(a[i % k], x);
            }
            s = 0;
            for(int i = 0; i < k; i++)s += a[i];
            cout << s << endl;
            fill(a, a + k, 0);
        }
    }

Comments

Popular posts from this blog

Whiteboarding Interviews

Version Control with Git: A Beginner’s Guide

Callback function in JavaScript