1 条题解
-
0118爱好者 (mengqingyu) LV 10 @ 2024-7-27 15:09:55
#include<bits/stdc++.h> #define ll long long using namespace std; double k,a[10000005]; int n; bool cheak(double x){ double d=a[1]+x; for(int i=2;i<=n;i++){ if(d+k<a[i]-x){ return 0; } else{ d+=k; if(d>a[i]+x){ d=a[i]+x; } } } return 1; } int main(){ cin>>k>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } double l=0,r=1e9+10; while(r-l>=1e-5){ double mid=(l+r)/2; if(cheak(mid)){ r=mid; } else{ l=mid; } } cout<<fixed<<setprecision(3)<<r; return 0; }
- 1
信息
- ID
- 3009
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 81
- 已通过
- 27
- 上传者