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的更多相关文章
随机推荐
- CentOS 系统 MySQL 5.7 开启远程连接
CentOS 系统安装好 MySQL 后,默认情况下不支持用户通过非本机连接上数据库服务器,下面是解决方法: 1.在控制台执行 mysql -u root -p 系统提示输入数据库 root 用户的密 ...
- 手把手教你如何用java8新特性将List中按指定属性排序,过滤重复数据
在java中常常会遇到这样一个问题,在实际应用中,总会碰到对List排序并过滤重复的问题,如果List中放的只是简单的String类型过滤so easy,但是实际应用中并不会这么easy,往往List ...
- 1.关于OSI七层模型和两主机传输过程
先回顾一下OSI七层模型有啥内容 (OSI模型与TCP/IP模型类似,这里只针对OSI模型展开) OSI参考模型为什么弃用呢?它的分层过于细致了,以至于使网络的体系结构变得复杂臃肿,有使用重叠的嫌疑, ...
- http上传txt文件
http通过post方式上传txt文件 可以参考 https://www.cnblogs.com/s0611163/p/4071210.html /// <summary> /// Htt ...
- 【Day4】5.Request对象之Http Post请求案例分析
import urllib.parse as up import urllib.request as ur import json word = input('请输入要翻译的中文') data = { ...
- Scyther攻击输出图的解释(之二)
下面对 Needham-Schroeder 协议形式化分析 的攻击输出图 做一个解释: Needham-Schroeder使用ns3表示, ns3 协议形式化描述结果如下: /* * Needham ...
- Mongo db 简单介绍及命令笔记
首先来了解下什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为W ...
- Ubuntu系统---进行C++项目开发的工具
Ubuntu系统---进行C++项目开发的工具 在Ubuntu系统下进行C++工作任务,还没接触过.像 Windows + vs 一样,Ubuntu应该也有自己的C++开发工具.网上搜罗了一圈,发现有 ...
- 利用python pika库实现rabbitmq客户端
pika 实现consumer import functools import logging import pika LOG_FORMAT = ('%(levelname) -10s %(ascti ...
- VMware WorkStations最小化安装&配置&卸载CentOS 7
所需软件: VMware WorkStations,CentOS 7镜像文件(可以在CentOS官网下载) 1.打开VMware WorkStations,点击创建虚拟机 2.选择典型,点击下一步 3 ...