博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jzoj3154 删数字
阅读量:5162 次
发布时间:2019-06-13

本文共 679 字,大约阅读时间需要 2 分钟。

给你一个N 个数组成的序列V,要你删除其中K 个数,M 表示剩下的数字

中任意两个数的差值的最大值,m 表示最小差值,要你计算删除K 个数后,M+m的最小值。

一看便知道先排序,那么答案必然是一段连续的区间,直接上单调队列就好

#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#include
#include
#include
using namespace std;struct dque{ int v[1000010],p[1000010],m,n,c,h; dque(){ m=n=c=0; h=1; } inline void push(int x){ while(h<=m&&x<=v[m]) m--; v[++m]=x; p[m]=++n; } inline int top(){ return v[h]; } inline void pop(){ if(p[h]==++c) h++; } } q;int n,k,s[1000010],ans=1<<29;int main(){ scanf("%d%d",&n,&k); k=n-k; for(int i=1;i<=n;++i) scanf("%d",s+i); sort(s+1,s+1+n); for(int i=1;i

转载于:https://www.cnblogs.com/Extended-Ash/p/9477164.html

你可能感兴趣的文章
2018.1.15
查看>>
[集合DP] UVA 10651 Pebble Solitaire
查看>>
qt安装遇到的错误
查看>>
寻找完美平方数
查看>>
java:Apache Shiro 权限管理
查看>>
objective c的注释规范
查看>>
FreeNas安装配置使用
查看>>
机器学习中的F1-score
查看>>
编译安装php5.5.38
查看>>
常用查找数据结构及算法(Python实现)
查看>>
Scrapy框架-CrawlSpider
查看>>
Django(一)框架简介
查看>>
java.lang.OutOfMemoryError: Java heap space
查看>>
popular short sentences
查看>>
Python操作SQLite数据库的方法详解
查看>>
如何透彻的掌握一门机器学习算法
查看>>
用数据分析进行品类管理
查看>>
实验二:编写输出"Hello World!"
查看>>
cocos2d关于glew32.lib错误(转)
查看>>
菜单和工具条(二)
查看>>