篮桥云课-摆玩具

思维好题

一开始掉进了二分的陷阱,发现看看逐个位置的差,我们要分成k段就是要取消k-1个最大的逐差

然后将剩余的加起来就可以了

因为本体保证是从小到大给出的 这一点保证了答案的正确性,自己没想出来 还是太菜了

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1e6+10;
int n,k;
int w[N];
vector<int>s;
using ll = long long;
ll res;
int main()
{
	cin>>n>>k;
	for(int i=1;i<=n;i++)cin>>w[i];
	 
	for(int i=2;i<=n;i++)s.push_back(w[i]-w[i-1]);
	sort(s.begin(),s.end(),greater<>());
	
	k = k-1;
	for(auto &t:s){
		if(!k)break;
		t = 0;
		k--;
	}
	

 	for(auto t:s)
 		res+=t;
 	
 	
 	cout<<res;
}
相关推荐
cynicme4 小时前
力扣3228——将 1 移动到末尾的最大操作次数
算法·leetcode
熬了夜的程序员4 小时前
【LeetCode】109. 有序链表转换二叉搜索树
数据结构·算法·leetcode·链表·职场和发展·深度优先
随意起个昵称4 小时前
【递归】二进制字符串中的第K位
c++·算法
mjhcsp5 小时前
C++ 循环结构:控制程序重复执行的核心机制
开发语言·c++·算法
立志成为大牛的小牛5 小时前
数据结构——四十一、分块查找(索引顺序查找)(王道408)
数据结构·学习·程序人生·考研·算法
xier_ran5 小时前
深度学习:RMSprop 优化算法详解
人工智能·深度学习·算法
地平线开发者5 小时前
不同传感器前中后融合方案简介
算法·自动驾驶
地平线开发者5 小时前
征程 6X 常见 kernel panic 问题
算法·自动驾驶
com_4sapi6 小时前
2025 权威认证头部矩阵系统全景对比发布 双榜单交叉验证
大数据·c语言·人工智能·算法·矩阵·机器人
前端小L6 小时前
二分查找专题(九):“降维”的魔术!将二维矩阵“拉平”为一维
数据结构·算法