CF1197C
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;
}
CF1197C的更多相关文章
随机推荐
- ASP.NET WEB应用程序(.network4.5)MVC 工作原理
MVC就是模型.视图.控制器. 项目中控制器对应Controllers目录,视图对应Views目录,模型对应Models目录. 1.当我们创建一个控制器时,比如在Controllers目录新建一个名字 ...
- 使用vue国际化中出现内置的组件无法切换语言的问题(element-ui、ivew)
在main.js中引入对应组件的语言包 eg: import VueI18n from 'vue-i18n'; // 引入国际化 import elementEn from 'element-ui/l ...
- vs Code编辑器智能提示功能
一.Node.Js的Typings工具可以用于Visual Studio Code的代码补全 1.vscode 的默认只有es原声api带有自动补全的功能,现在V1.9的版本默认已经支持NodeJS的 ...
- stm32 待机模式
低功耗模式 降低系统时钟速度 不使用APBx和AHB外设时,将对应的外设时钟关闭 睡眠模式(Cortex™-M3内核停止,所有外设包括Cortex-M3核心的外设,如NVIC.系统时钟(SysTick ...
- ASTA存在的问题
1.客户端执行一个查询,提示xx字段不存在.跟踪代码,原来服务端ADOQuery设置BCD返回,客户端AstaClientDataSet在设计期加了字段是ftFloat类型,这两个类型不同产生的错误. ...
- Django应用之content type(app应用之一django.contrib.contenttypes)
当一张表作为多个表的FK(主键),并且只能选择其中一个或者几个时,就可以使用content_type表:例如下图的数据关系,因此就可以使用content_type表来将表与表中的对象进行关联,从而做到 ...
- Windows 10版本区别
在msdn资源站上看到两个下载不同的区别,二者都内置专业版,不同之处在于: consumer_editions 版本包含:(个人使用 零售版) Home(家庭版); Education(教育版) ; ...
- Atollic TrueSTUDIO编译选项-优化设置
最近在玩stm32f407,比较懒,就直接使用Atollic TrueSTUDIO,官方版本,还免费,但是编译后,一直感觉代码添加了优化,语句执行顺序和代码不一致,在线调试时,有些变量的数值被优化了, ...
- jade安全转义和非转义
- var data = 'text' - var htmlData = ')</script><span>script</span>' 例如上面的例子,假如没 ...
- 手把手教你在CentOS上搭建Kubernetes集群
作者:ChamPly 安装CentOS 1.安装net-tools [root@localhost ~]# yum install -y net-tools 2.关闭firewalld [root@l ...