[DHBB18 - CLC - 10] Bài 2: Dãy số 10

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho dãy số gồm ~n~ số nguyên ~a_1, a_2, \dots, a_n~. Một đoạn con của dãy được định nghĩa là dãy ~a_i, a_{i+1}, \dots, a_j~ với ~1 \le i \le j \le n~, đoạn con này có chiều dài là ~(j - i + 1)~. Bây giờ ta chọn hai đoạn con ~X~ và ~Y~ không có phần tử chung và có cùng chiều dài là ~k~ (~k > 0~). Ký hiệu hai đoạn đó là ~x_1, x_2, \dots, x_k~ và ~y_1, y_2, \dots, y_k~. Sau đó tính tổng: ~S = x_1 \times y_k + x_2 \times y_{k-1} + \dots + x_{k-1} \times y_2 + x_k \times y_1~

Yêu cầu: Với các đoạn con ~X, Y~ có thể có trong dãy ~n~ số trên, hãy tìm giá trị lớn nhất của ~S~.

Input

  • Dòng thứ nhất là số nguyên ~n~ (~2 \le n \le 3000~).
  • Dòng thứ hai là ~n~ số nguyên ~a_1, a_2, \dots, a_n~ (~|a_i| \le 10^6~), mỗi số cách nhau một khoảng trắng.

Output

  • Là giá trị lớn nhất của ~S~.

Sample Input 1

8
2 3 0 3 0 3 2 1

Sample Output 1

13

Sample Input 2

5
3 2 -9 1 -8

Sample Output 2

72

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.