canuc80k5708·9/26

Độ Lệch Đoạn Liên Tiếp

Nộp bài trên LQDOJ

Bài 57 · Ternary Search

Cho dãy . Chọn số thực , thay mỗi phần tử bằng . Độ lệch là trị tuyệt đối lớn nhất của tổng một đoạn liên tiếp không rỗng. Hãy chọn để độ lệch nhỏ nhất.

Input

  • , rồi số .

Output

  • In minimum, sai số .

Constraints

  • .
  • .

Scoring

  • Subtask ( điểm): .
  • Subtask ( điểm): đầy đủ.

Example

Test 1

Input

2
0 2

Output

1.000000000000000

Giải thích: tạo ; mọi tổng đoạn có trị tuyệt đối không quá .

Lời giải tóm tắt
  • Ý tưởng: Mỗi tổng đoạn là S-len·x; trị tuyệt đối là maximum hai hàm affine. Maximum trên mọi đoạn là hàm lồi F(x). Đánh giá F bằng Kadane cho tổng dương lớn nhất của a_i-x và cho tổng âm lớn nhất qua dãy đối dấu.
  • Ý tưởng: Tam phân [min a,max a] trong 100 vòng. Tính lồi bảo đảm mỗi bước giữ một đáy. Độ phức tạp O(100n), bộ nhớ O(n).