DZY的根(思维水)
DZY的根
【问题描述】
DZY是个没有根的人,他十分想要有根,这样才能。。。智商爆表的计算机大神WJC决定再帮帮他,他用程序制造了N个根——有生命的根!
这N个根和WJC一样都十分机智,他们要参加国际象棋比赛,该比赛要进行K场对弈。每个根最多参加两场对弈,最少参加零场对弈。每个根都有一个与其他根都不相同的等级(用一个正整数来表示)。
在对弈中,等级高的根必须用黑色的棋子,等级低的根必须用白色的棋子。 每个根最多只能用一次黑色的棋子和一次白色的棋子。
为了增加比赛的客观度,观众希望K场对弈中双方等级差的总和最小。比如有7个根,他们的等级分别是30,17,26,41,19,38,18,要进行3场比赛,最好的安排是 2 vs 7, 7 vs 5,6 vs 4,此时等级差的总和为(18-17)+(19-18)+(41-38)=5 达到最小。
【输入格式】
第一行两个整数N、K。接下来N行,第i行表示第i-1个根等级。
【输出格式】
最小等级差的总和
【输入样例】
7 3
30
17
26
41
19
38
18
【输出样例】
5
【数据范围】
90% N<=3000
100% N<=100000
所有等级值<110 1<=K<=N-1
【来源】
由 Hacker_WJC 改编于某个OJ上的某道题(23333333333333333)
题解:每个根最多参加两场对弈,最少参加零场对弈,其实就是代表赢一次必定会输一次,也就是排序中相邻的两个数的差和最小;
代码:
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
const int INF=0x3f3f3f3f;
#define SI(x) scanf("%d",&x)
#define SL(x) scanf("%lld",&x)
#define PI(x) printf("%d",x)
#define PL(x) printf("%lld",x)
#define mem(x,y) memset(x,y,sizeof(x))
#define P_ printf(" ")
typedef long long LL;
const int MAXN=100010;
int m[MAXN],n[MAXN];
int main(){int N,K;while(~scanf("%d%d",&N,&K)){for(int i=0;i<N;i++){SI(m[i]);}sort(m,m+N);int tp=0;for(int i=1;i<N;i++){n[tp]=m[i]-m[i-1];tp++;}sort(n,n+tp);int ans=0;for(int i=0;i<K;i++)ans+=n[i];printf("%d\n",ans);}return 0;
}
DZY的根(思维水)相关推荐
- codeforces 1060a(思维水题)
Let's call a string a phone number if it has length 11 and fits the pattern "8xxxxxxxxxx", ...
- FZU 2230 2230 翻翻棋(思维水题)
Problem Description 象棋翻翻棋(暗棋)中双方在4*8的格子中交战,有时候最后会只剩下帅和将.根据暗棋的规则,棋子只能上下左右移动,且相同的级别下,主动移动到地方棋子方将吃掉对方的棋 ...
- CF Round #426 (Div. 2) The Useless Toy 思维 水题
题目链接: http://codeforces.com/contest/834/problem/A 题目描述: 输入起始状态和结束状态和数列长度, 判断旋转方向是顺时针逆时针还是不合理 解题思路: 长 ...
- 中石油训练赛 - 姓氏(思维+水题)
题目描述 在一个很大的课室里,里面有很多学生在听课.L老师挑选了其中的N个不同的学生起立回答问题,L老师对起立的每一个学生都是问同样的问题:"在本课室里,和你同姓的学生有多少人(不包括你自己 ...
- 【CodeForces - 707B】Bakery(思维水题)
Bakery Descriptions 玛莎想在从1到n的n个城市中开一家自己的面包店,在其中一个城市烘焙松饼. 为了在她的面包房烘焙松饼,玛莎需要从一些储存的地方建立面粉供应.只有k个仓库,位于不同 ...
- CodeForces - 622C Not Equal on a Segment(思维+水题)
题目链接:点击查看 题目大意:先给出一个长度为n的数列,然后给出m次询问,每次询问的格式是l,r,x,其中[l,r]代表的是数列的下标范围,要求我们输出任意一个在区间[l,r]内值不等于x的下标 题目 ...
- 【CodeForces - 1038A 】Equality (思维水题,预处理字符串)
题干: You are given a string ss of length nn, which consists only of the first kk letters of the Latin ...
- HDU 6168 Numbers 思维 水题
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6168 题目描述: 定义数组b是由数组a每两项的和组成的,现在将数组A, B混在一起给你, 筛出数组A ...
- 【Disturbed People】【CodeForces - 1077B】(思维水题)
题目: There is a house with nn flats situated on the main street of Berlatov. Vova is watching this ho ...
最新文章
- koa cluster 使用多进程
- html应用多个类,html – 如何避免重复多个css类
- 推荐:用动画的形式呈现解LeetCode题目的思路(github上25000多star)
- wxpython开发的软件_Python GUI开发环境的搭建(wxPython)
- Entity Framework入门教程:创建实体数据模型
- docker下的mysql my.ini_docker部署mysql启动失败
- 智能音箱扎堆的技术红海,Rokid 如何杀出一条血路?
- python体测成绩数据分析统计服_体测成绩数据分析
- scanf()的用法
- ubuntu修改系统时区和jvm时区
- 关于css3的calc()
- CAD如何导出天正各版本DWG图纸?CAD图形导出教程
- 数据智能,慧眼识“真”——个推大数据风控产品亮相
- php左斜线和右斜线,左斜杠和右斜杠分别有什么意义?
- 五 IP核行业潜在投资方向和机会
- 从身家500万到两手空空,看她如何再次成功翻身
- Spring AOP(获取入参和返回值)及其原理:动态代理
- 打破传统的控制理论之(控制理论+深度学习)
- put和putIfAbsent的区别
- selenium驱动Firefox安装和环境配置