LeetCode-in-Java

2834. Find the Minimum Possible Sum of a Beautiful Array

Medium

You are given positive integers n and target.

An array nums is beautiful if it meets the following conditions:

Return the minimum possible sum that a beautiful array could have modulo 109 + 7.

Example 1:

Input: n = 2, target = 3

Output: 4

Explanation: We can see that nums = [1,3] is beautiful.

It can be proven that 4 is the minimum possible sum that a beautiful array could have.

Example 2:

Input: n = 3, target = 3

Output: 8

Explanation: We can see that nums = [1,3,4] is beautiful.

It can be proven that 8 is the minimum possible sum that a beautiful array could have.

Example 3:

Input: n = 1, target = 1

Output: 1

Explanation: We can see, that nums = [1] is beautiful.

Constraints:

Solution

public class Solution {
    public int minimumPossibleSum(int n, int k) {
        long mod = (long) 1e9 + 7;
        if (k > (n + n - 1)) {
            return (int) ((long) n * (n + 1) % mod / 2);
        }
        long toChange = n - (long) (k / 2);
        long sum = ((n * ((long) n + 1)) / 2) % mod;
        long remain = (long) k - ((k / 2) + 1);
        return (int) ((sum + (toChange * remain) % mod) % mod);
    }
}