[编程题] 庆祝61
时间限制:1秒
空间限制:32768K
牛家庄幼儿园为庆祝61儿童节举办庆祝活动,庆祝活动中有一个节目是小朋友们围成一个圆圈跳舞。牛老师挑选出n个小朋友参与跳舞节目,已知每个小朋友的身高h_i。为了让舞蹈看起来和谐,牛老师需要让跳舞的圆圈队形中相邻小朋友的身高差的最大值最小,牛老师犯了难,希望你能帮帮他。
如样例所示:
当圆圈队伍按照100,98,103,105顺时针排列的时候最大身高差为5,其他排列不会得到更优的解 
输入描述:
输入包括两行,第一行为一个正整数n(3 ≤ n ≤ 20) 第二行为n个整数h_i(80 ≤ h_i ≤ 140),表示每个小朋友的身高。
输出描述:
输出一个整数,表示满足条件下的相邻小朋友身高差的最大值。
输入例子:
4 100 103 98 105
输出例子:
5

解题思路:考虑我们已经将身高升序排序了,然后对于前k个小朋友组成队形的身高差的最大值的最小值为f(k),并且第k个和第(k-1)个小朋友是相邻的。现在我们加入第(k+1)个小朋友,考虑到第(k + 1)个小朋友身高是大于等于前面的小朋友,插入队形之后,第(k + 1)个小朋友一定与两个小朋友相邻, 所以当我们将第(k + 1)个小朋友插入到第k个和第(k - 1)个小朋友中间可以得到f(k + 1)的下界一定是max(f(k), h[k] - k[k - 2]),我们又注意到这样插入之后第(k + 1)个和第k个小朋友还是相邻的,于是这样可以一直推广下去。考虑最初3个小朋友的时候这样也是可行的, 于是问题变成了求max(h[i] - h[i - 2])。可以写出很简洁的代码。

 1  #include <bits/stdc++.h>
 2
 3 using namespace std;
 4
 5 const int maxn = 20 + 5;
 6
 7 int n;
 8 int h[maxn];
 9 int main() {
10     scanf("%d", &n);
11     for(int i = 0; i < n; i++) scanf("%d", &h[i]);
12     sort(h, h + n);
13     int ans = 0;
14     for(int i = 2; i < n; i++) ans = max(ans, h[i] - h[i - 2]);
15     cout << ans << endl;
16 }

转载于:https://www.cnblogs.com/qqky/p/7064849.html

6、庆祝六一--全国模拟(四)相关推荐

  1. 2021NOC全国模拟考A卷解析(中学Python)答案分析

    2021NOC全国模拟考A卷解析(中学Python) 1.以下选项中不符合 Python 语⾔变量命名规则的是  ()  ? A.LL  . B.3_1 C._AI D.TempStr 解析:  Py ...

  2. 计算机ps高新技术考试高级,PS高新技术考试(模拟四).doc

    PS高新技术考试(模拟四) 1.建立一个新文件,16×12cm,分辩率为72像素/英寸,RGB模,最终效果如下: 2.建立文件:640×480像素,72像素/英寸,RGB模式,最终效果如下: 3.利用 ...

  3. 庆祝“六一儿童节”C++代码

    六一儿童节来了,在这个充满欢声笑语的节日里,让我们一起用C++来做一个庆祝"六一"的代码吧! 其实,这只是最基本的输出操作,加一个while或者for变成死循环就可以了. 注:由于 ...

  4. 计算机科学千分之一高校,69所计算机科学进入ESI世界前1%的高校及排名,西电全国第四!...

    ESI作为一个硬性的科学论文数据指标,在目前世界范围内对于高校以及高校学科内的一些评价还是有非常大的参考意义的,虽然说我国近期表明要破除高校考核中的"唯论文"的现象,但是这并不代表 ...

  5. 模拟四:STEMA 考试选择题模拟练习试卷(中级组)及答案 + 自我解题笔记

    模拟一:STEMA 考试选择题模拟练习试卷(初级组)及答案 + 自我解题笔记 模拟二:STEMA 考试选择题模拟练习试卷(中级组)及答案 + 解题后期更新 模拟三:STEMA 考试选择题模拟练习试卷( ...

  6. 他,TypeScript GitHub Star 上海第一,全国第四!GitHub 总标星超两万!

    前两天和老同学羡辙(Apache Echarts 核心开发.百度最美工程师)聊天.她分享了一个 GitHub 排名的网站给我. http://git-awards.com/users?type=cit ...

  7. 程序人生 - 程序员也能庆祝六一儿童节!

    六一儿童节,是每年的6月1日,是中国的儿童节日.在这一天,孩子们可以收到礼物.参加各种活动,享受属于自己的节日.而在程序员领域,我们也可以通过一些方式来庆祝这个特殊的日子. 目录 应用程序或游戏 有趣 ...

  8. 庆祝六一,特奉上礼物一份,shell脚本的相关练习

    庆祝六一,特奉上礼物一份,shell脚本的相关练习 1.用shell脚i本for,while,until这三种方式写出输出1到100的所有偶数的方法. 2.假设变量i=20 * 5,请用shell脚本 ...

  9. 全国计算机四六级报名时间2015,2015年英语四六级口语考试报名时间:10月25日起...

    出国留学网英语栏目提示:2015年11月六级口语考试即将开始报名,请跟着小编一起阅读以下的口语考试相关事宜. 全国大学英语四.六级委员会办公室最新发布的<2015年11月全国大学英语四.六级口语 ...

最新文章

  1. 用python随机生成数字_如何实现python随机生成数字?
  2. hdu 1228-A+B
  3. lua string操作
  4. TCP协议可靠性保证(确认应答机制,超时重传机制,流量控制,拥塞窗口)
  5. 板邓:wordpress自定义登录页面实现用户登录
  6. JPA 2.1实体图–第2部分:在运行时定义延迟/急切加载
  7. ubuntu切换root用户
  8. NO.54 在禅道里建立部门结构、添加用户
  9. 阿里云,CentOS下yum安装mysql,jdk,tomcat
  10. 【毕业论文写作技巧】毕业设计(论文)写作框架
  11. Flink 1.5重磅发布:处理模型重构,延迟更低!
  12. C++ WinHTTP实现文件下载
  13. MATLAB零基础入门教程视频课程
  14. Windows学习总结(12)——Windows 10系统开始运行-cmd命令大全
  15. ARM嵌入式的位绑定原理
  16. 输入某年某月某日,判断这一天是这一年的第几天?
  17. C#:Winform 打字测速程序 Typer
  18. css怎么随着鼠标移动,利用CSS sprites制作随着鼠标移动的动画背景
  19. 多测师拱墅校区__肖sir__项目讲解(1)
  20. 异步mysql java_java – 异步http客户端(ning)创建更多线程?

热门文章

  1. R语言使用epiDisplay包的roc.from.table函数可视化临床诊断表格数据对应的ROC曲线并输出新的诊断表、设置cex参数指定AUC值及其文本标签字体的大小
  2. c语言Python语法结构差别,Python语法与类C语言语法的差别
  3. 2022社区小程序怎么做?社区小程序那个好?社区小程序有哪些?精准社区小程序?
  4. linux卸载webmin及其配置,CentOS安装Webmin
  5. 盘点一下 Java创建对象的几种方式(7大种)全面版
  6. 前端单页面应用分布式部署探索
  7. 史上最全的spark面试题——持续更新中
  8. 春运网购火车票退款没到账怎么办?
  9. 老中医的偏方(看了不白看)
  10. [轉貼] 华中科技大学校长李培根在2010届毕业典礼上的演讲全文