> 文档中心 > 蓝桥杯每日一练——向数组中追加k个整数

蓝桥杯每日一练——向数组中追加k个整数


梦想,可以天花乱坠,理想,是我们一步一个脚印踩出来的坎坷道路。
                                                                                                                        ——三毛 

题目来自leetcode双周赛 

 

class solution {public:long long clac(int& k, long long l, long long r) {if (l > r)return 0;r = min(r, l + k - 1);k -= (r - l + 1);return 1LL * (l + r) * (r - l + 1) / 2;}long long minimalKSum(vector& a, int k) {int n = a.size();sort(a.begin(), a.end());long long ans = 0;ans += calc(k, 1, a[0] - 1);for (int i = 0; i < n - 1; i++)ans += calc(k, a[i] + 1, a[i + 1] - 1);ans += calc(k, a[n - 1] + 1, 2e9);return ans;}};