LeetCode-in-Java

2829. Determine the Minimum Sum of a k-avoiding Array

Medium

You are given two integers, n and k.

An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k.

Return the minimum possible sum of a k-avoiding array of length n.

Example 1:

Input: n = 5, k = 4

Output: 18

Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18.

Example 2:

Input: n = 2, k = 6

Output: 3

Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3.

Constraints:

Solution

public class Solution {
    public int minimumSum(int n, int k) {
        int[] arr = new int[n];
        int a = k / 2;
        int sum = 0;
        if (a > n) {
            for (int i = 0; i < n; i++) {
                arr[i] = i + 1;
                sum += arr[i];
            }
        } else {
            for (int i = 0; i < a; i++) {
                arr[i] = i + 1;
                sum += arr[i];
            }
            for (int j = a; j < n; j++) {
                arr[j] = k++;
                sum += arr[j];
            }
        }
        return sum;
    }
}