我正在解决这个问题:
瓦尼亚(Vanya)沿着一条长为l的直的街道走了深夜,被n盏灯笼照亮。考虑坐标系,其街道的起点与点0相对应,其终点与点l相对应。然后第i个灯笼在ai点。灯笼照亮了距离街道最多d的所有街道点,其中d是一个正数,对于所有灯笼来说都是相同的。
Vanya想知道:灯笼要照亮整条街道的最小光半径d是多少?
在某些测试中,它给出了WA预期值:** *'22258199.50000 * 00',发现: '22258200.0000000'
但是在某些答案不是整数的测试中,我的代码输出正确的答案。 (即它可以输出两倍)
当我看到解决方案时,是"printf("%.10f", maxdist/2.)"
而不是"cout << (double)maxdist/2"
问题:
maxdist/2.
”末尾的圆点是什么意思?"&
前没有maxdist
“?#include <bits/stdc++.h>
using namespace std;
#define all(x) (x).begin(), (x).end()
int main(){
int n, l;
cin >> n >> l;
vector<int> v;
for(int i = 0; i < n; i++){
int x;
cin >> x;
v.pb(x);
}
sort(all(v));
int maxdist = 2*max(v[0], l-v[n-1]);
for(int i = 0; i < n-1; i++){
maxdist = max(maxdist, v[i+1] - v[i]);
}
cout << (double)maxdist/2;
}
答案 0 :(得分:0)
“%。10f”-表示变量的浮点值(最多10个小数位)和“”。表示小数点,后面跟着f的任何数字将决定答案将移到多少小数位。