Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- using namespace std;
- int main() {
- int n;
- double len;
- cin >> n >> len;
- vector<double> a(n);
- for (int i = 0; i < n; i++) {
- cin >> a[i];
- }
- sort(a.begin(), a.end());
- double l = 0, r = 1e10, m, curx;
- bool ans;
- for (int i = 0; i < 100; i++) {
- m = (l + r) / 2;
- curx = 0;
- ans = true;
- for (int q=0; q<n; q++) {
- curx += m;
- if (curx < a[q]) {
- ans = false;
- break;
- }
- if (q + 1 < n && a[q + 1] < curx) {
- curx = a[q + 1];
- }
- }
- if (curx>=len&&ans)
- r = m;
- else
- l = m;
- }
- cout << r;
- }
Add Comment
Please, Sign In to add comment