1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# @Title: 向数组中追加 K 个整数 (Append K Integers With Minimal Sum)
# @Author: 15816537946@163.com
# @Date: 2022-03-06 14:11:04
# @Runtime: 120 ms
# @Memory: 29.3 MB
class Solution:
    def minimalKSum(self, nums: List[int], k: int) -> int:
        nums = sorted(set(nums)) + [int(2e9)]
        s = 0
        for i, num in enumerate(nums):
            if num - 1 - i >= k:
                return (k + i) * (k + i + 1) // 2 - s
            s += num
        
        return -1