CF1197C
2024-10-06 09:37:33
CF1197C
题意:
有一个递增的数列,把它分成k段,找到这样的分段方法,即每段最大值减最小值的和最小
解法:
分成k段,即要加k-1个隔断,这k-1个隔断,能隔开差值最大的几个,那最后得到分隔后的各段最大最小差值和最小
CODE:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
#define LL long long
const int N = 3e5 + 100;
int n,a[N],k;
vector<int> G;
int main() {
scanf("%d%d",&n,&k);
for(int i = 1 ; i <= n ; ++i)
scanf("%d",&a[i]);
for(int i = 2 ; i <= n ; ++i)
G.push_back(a[i - 1] - a[i]);
sort(G.begin(), G.end());
int ans = a[n] - a[1];
for(int i = 0 ; i < k - 1 ; ++i) ans += G[i];
printf("%d",ans);
//system("pause");
return 0;
}
最新文章
- Android源码——Logger日志系统
- [Note] Software Testing
- DataGridView 导出到Excel
- 1.Android入门学习
- [原创]java WEB学习笔记69:Struts2 学习之路-- 消息处理与国际化,概述,配置国际资源文件,访问国际化消息,通过超链接切换语言
- Python第一个入门程序
- dhcp源码编译支持4G上网卡
- jquery获取form表单内容以及绑定数据到form表单
- Activiti工作流学习-----基于5.19.0版本(1)
- Java面向对象总复习-QuickHit
- Docker - 虚拟网桥
- python_装饰器_语法糖
- linux tcp重传多会导致软中断在各个核很不均匀么?
- Modelsim仿真.do脚本示例
- Android Studio 创建不同分辨率的图标
- tp3.2 支付宝手机网站支付
- mysql 主键和唯一索引的区别
- java关于null的介绍及比较问题..未完待续
- swift UITabelVIew - 纯代码自定义tabelViewCell
- LintCode 508: Wiggle Sort
热门文章
- Flash播放控件属性详解
- java小工具:通过URL连接爬取资源(图片)
- 客户端相关知识学习(十一)之Android H5交互Webview实现localStorage数据存储
- rabbitMQ 安装,基于Windows环境
- js检测是不是数字
- stm32 SysTick系统定时器
- 百度定位SDK 返回error code : 162 latitude : 4.9E-324 lontitude : 4.9E-324
- 3.ConcurrentHashMap 锁分段机制 Copy-On-Write
- DNS理解
- Windows10关闭自动更新方法