3654: Minimum Sum After Divisible Sum Deletions
Problem Statement
You are given an integer array nums
and an integer k
.
You may repeatedly choose any contiguous subarray of nums
whose sum is divisible by k
and delete it; after each deletion, the remaining elements close the gap.
Return the minimum possible sum of nums
after performing any number of such deletions.
Example 1:
Input: nums = [1,1,1], k = 2
Output: 1
Explanation:
- Delete the subarray
nums[0..1] = [1, 1]
, whose sum is 2 (divisible by 2), leaving[1]
. - The remaining sum is 1.
Example 2:
Input: nums = [3,1,4,1,5], k = 3
Output: 5
Explanation:
- First, delete
nums[1..3] = [1, 4, 1]
, whose sum is 6 (divisible by 3), leaving[3, 5]
. - Then, delete
nums[0..0] = [3]
, whose sum is 3 (divisible by 3), leaving[5]
. - The remaining sum is 5.
Constraints:
1 <= nums.length <= 105
1 <= nums[i] <= 106
1 <= k <= 105
Code Solution