Bedao Mini Contest 20 - SumRange

Xem dạng PDF

Gửi bài giải


Điểm: 0,35 (OI)
Giới hạn thời gian: 0.5s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho hai dãy ~a~ và ~b~ cùng có ~n~ phần tử nguyên. Ta định nghĩa hàm ~sum(x,y)~ ~(1 \le x,y \le n)~ như sau:

  • Nếu ~x \le y~ thì ~sum(x,y) = a_x + a_{x+1} + a_{x+2} + ... + a_y~.

  • Nếu ~x > y~ thì ~sum(x,y) = b_x + b_{x-1} + b_{x-2} + ... + b_y~.

Nhiệm vụ mà Lihwy đặt ra cho bạn là, hãy chọn ra hai đoạn ~[x,y]~ ~(1 \le x \le y \le n)~ và ~[c,d]~ ~(1 \le c \le d \le n)~ sao cho ~S = \sum sum(i,j)~ với mọi ~x \le i \le y~ và ~c \le j \le d~ là lớn nhất.

Input

  • Dòng đầu gồm số nguyên dương ~n~ (~1 \le n \le 400~).

  • Dòng thứ hai gồm ~n~ số nguyên miêu tả dãy ~a~ ~(-10^6 \le a_i \le 10^6)~.

  • Dòng thứ ba gồm ~n~ số nguyên miêu tả dãy ~b~ ~(-10^6 \le b_i \le 10^6)~.

Output

  • In ra ~S~ lớn nhất tìm được.

Scoring

Subtask Điểm Giới hạn
1 ~20~ ~n \le 20~
2 ~30~ ~n \le 50~
3 ~50~ Không có ràng buộc gì thêm

Sample Input 1

5
1 4 2 -1 -2
-2 -1 1 2 -1

Sample Output 1

45

Notes

Chọn đoạn ~[1,5]~ và ~[2,5]~.


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.