二分枚举答案,假设是ans,考虑判定答案
从前往后计算,算出每一个将军与第一个将军最少和最多有多少个相同的奖牌,贪心转移即可

 1 #include<bits/stdc++.h>
2 using namespace std;
3 int n,a[20005];
4 bool pd(int k){
5 int mi=a[1],ma=a[1];
6 if (k<a[n]+a[1])return 0;
7 for(int i=2;i<=n;i++){
8 if (k<a[i]+a[i-1])return 0;
9 int x=max(a[i]-(k-a[i-1]-(a[1]-ma)),0);
10 ma=min(a[i],a[1]-mi);
11 mi=x;
12 }
13 return mi==0;
14 }
15 int main(){
16 scanf("%d",&n);
17 for(int i=1;i<=n;i++)scanf("%d",&a[i]);
18 int l=1,r=300000;
19 while (l<r){
20 int mid=(0LL+l+r>>1);
21 if (pd(mid))r=mid;
22 else l=mid+1;
23 }
24 printf("%d",l);
25 }

最新文章

  1. nubia Z5 mini 小牛 黑砖qhsusb dload修复
  2. 解决:sudo: 无法解析主机:dinphy-500-310cn: 连接超时
  3. DatePicker隐藏年月日
  4. 储物柜soket通信协议和中间件实现技术细节
  5. eclipse安装spring和hibernate插件经验
  6. switch case语句里面不能定义对象,有语法错误,除非加一个花括号
  7. 2017年Unity开发环境与插件配置安装(总体介绍)
  8. Spring MVC 解决无法访问静态文件和&quot;全局异常处理&quot;
  9. 两个activity的3D翻转动画.md
  10. ansible基础-理解篇
  11. jQuery效果-----fadeIn()、fadeOut()、fadeToggle()、fadeTo()
  12. Grid move
  13. Win10升级惹的祸,Oracle服务全没有了,怎么解决?
  14. Change position in observation
  15. 谷歌PM面试官告诉你,如何成功拿到理想offer
  16. java List 根据属性排序
  17. redismyadmin安装(支持redis4 集群模式)
  18. 拥抱了IDEA却发现再也回不去Eclipse...
  19. 高可用的MongoDB集群【转】
  20. 结对&amp;团队之1715|K班取经

热门文章

  1. VS2017离线安装QT插件出错:未能正确加载VSIX包
  2. 洛谷2151[SDOI2009]HH去散步(dp+矩阵乘法优化)
  3. Redis 基础数据类型重温
  4. python pip使用国内镜像安装第三方库:命令行或PyCharm
  5. mac无坑安装nginx
  6. 这样学BAT必面之软件设计原则,还不会就是我的问题
  7. 【c++ Prime 学习笔记】第12章 动态内存
  8. 在 ASP.NET Core Web API中使用 Polly 构建弹性容错的微服务
  9. Ubuntu 用户管理/权限管理
  10. UltraSoft - Alpha - Scrum Meeting 2