枚举差和差的1/2

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; double a[111];
double d[111];
int n; bool cal(double dis) {
int ok = 1;
for(int i=1; i<n-1; i++) {
if(ok==1) {
if(a[i]-dis>=a[i-1]) {
ok=1;
} else {
if(a[i]+dis<=a[i+1]) {
ok=0;
if(a[i]+dis==a[i+1]) {
i++;
ok=1;
}
} else {
return false;
}
}
} else {
if(a[i]-dis>=a[i-1]+dis) {
ok=1;
} else {
if(a[i]+dis<=a[i+1]) {
ok=0;
if(a[i]+dis==a[i+1]) {
i++;
ok=1;
}
} else {
return false;
}
}
}
}
return true;
} int main() {
int T;
scanf("%d",&T);
while(T--) {
scanf("%d",&n);
for(int i=0; i<n; i++) {
scanf("%lf",&a[i]);
}
int cnt = 0;
sort(a,a+n);
for(int i=1; i<n; i++) {
d[++cnt]=a[i]-a[i-1];
d[++cnt]=(a[i]-a[i-1])*0.5;
}
sort(d+1,d+cnt+1);
for(int i=cnt; i>=1; i--) {
if(cal(d[i])) {
printf("%.3lf\n",d[i]);
break;
}
if(d[i]==d[i+1]) continue;
}
}
}

最新文章

  1. java实战之解析xml
  2. 360提供的SQL防注入
  3. android 横竖屏限制如何配置
  4. Html.DropDownListFor
  5. HDU 5311 Hidden String (暴力)
  6. hdu 4720 计算几何简单题
  7. Java设计模式系列之桥接模式
  8. POJ 1789 Truck History (最小生成树)
  9. Keil C51汉字显示的bug问题
  10. cocos2d-x学习知识点记录
  11. JDK5-注解
  12. JUnit4教程-高速入口
  13. oracle-外连接left join的应用
  14. jenkins+docker 持续构建非docker in docker jenkins docker svn maven
  15. 原创分享!SharePoint母版页修改(实战)
  16. Springboot整合activemq
  17. vue 利用mockJs 模拟数据
  18. QQ聊天字体选择
  19. iOS开发之UIView
  20. Android 复制 粘贴 剪贴板的使用 ClipboardManager

热门文章

  1. Python str 与 bytes 类型(Python2/3 对 str 的处理)
  2. Entity Framework介绍和DBFirst开发方式
  3. Redis封装之Hash
  4. idea里新建maven项目时,在new module页面,一直显示loading archetype list...
  5. LG Gram 2018 z980 白
  6. Docker学习总结(6)——通过 Docker 化一个博客网站来开启我们的 Docker 之旅
  7. ASP.NET中的几种弹出框提示
  8. 剑指offer_面试题6_重建二叉树(分解步骤,逐个击破)
  9. Unity3D:粒子系统Particle System
  10. Android 採用HTML设计界面