#QU000007. Cirno (Cirno)

    ID: 141 Loại: Thông thường 2000ms 256MiB Tried: 1 Đã chấp nhận: 1 Độ khó: 1 Đăng bởi: Nhãn>Dynamic ProgrammingBottom-up DPAdvanced Dynamic ProgrammingOptimization with monotonic queuesData StructuresDequeAmortized AnalysisMonotonic queue

Cirno (Cirno)

Cirno (Cirno)

Nguồn: Luogu

Phiên bản: Phước Hưng OJ Extended

Đề bài

Có các ô từ 00 đến NN. Từ ô ii chỉ được nhảy tới một ô trong [i+L,i+R][i+L,i+R]. Khi dừng ở ô ii nhận giá trị AiA_i. Bắt đầu ở ô 00 với A0=0A_0=0; khi bước tiếp theo vượt quá NN thì đã sang bờ. Tìm tổng giá trị lớn nhất.

Input

Dòng đầu chứa N,L,RN,L,R. Dòng thứ hai chứa N+1N+1 số A0,…,ANA_0,\ldots,A_N.

Output

In giá trị lớn nhất đạt được khi sang bờ.

Subtask

  • Subtask 1 (60%): N≤104N \le 10^4.
  • Subtask 2 (40%): N≤2⋅105N \le 2\cdot 10^5.

Toàn bộ dữ liệu tuân theo: N≤2⋅105N \le 2\cdot10^5, −103≤Ai≤103-10^3 \le A_i \le 10^3, 1≤L≤R≤N1 \le L \le R \le N; đáp án không vượt 231−12^{31}-1.

Ví dụ

Input

5 2 3
0 12 3 11 7 -2

Output

11

Giải thích

Theo quy tắc nhảy 22 đến 33 ô, một lộ trình tối ưu cho tổng chỉ số đóng băng bằng 1111 trước khi bước vượt bờ.