Решение задачи "Ваня и фонари" с Codeforces

Без пояснения   Просмотров: 45


Ваня идет поздней ночью по прямолинейной улице длины l, которая освещается n фонарями. Введём систему координат, в которой начало улицы соответствует точке 0, а её конец — точке l. Тогда i-й фонарь находится в точке ai. Фонарь освещает все точки улицы, которые находятся от него на расстоянии не больше d, где d — некоторое положительное число, общее для всех фонарей.

Ваня хочет узнать, какой минимальный радиус освещения d должен быть у фонарей, чтобы вся улица была освещена.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    double n, l;
    cin >> n >> l;
    vector<double> a(n);
    for(int i = 0; i < n; ++i){
        cin >> a[i];
    }
    sort(a.begin(), a.end());
    double maxdist = a[1] - a[0];
    for(int i = 2; i < a.size(); ++i){
        maxdist = max(maxdist, a[i] - a[i - 1]);
    }
    cout << fixed << setprecision(9) << max(maxdist/2., max(a[0], l - a[a.size() - 1]));
    return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться