#1665. TỔNG DÃY (MAXALT)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho hai dãy số nguyên A B đều có độ dài n , được ký hiệu lần lượt là A_1, A_2, \dots, A_n B_1, B_2, \dots, B_n .

Bạn cần chọn ra một dãy các phần tử từ hai dãy này sao cho:

  1. Nếu một phần tử được chọn tại chỉ số i thuộc dãy A , thì phần tử tiếp theo được chọn (nếu có) phải ở một chỉ số j > i và thuộc dãy B .
  2. Ngược lại, nếu một phần tử được chọn tại chỉ số i thuộc dãy B , thì phần tử tiếp theo được chọn (nếu có) phải ở một chỉ số j > i và thuộc dãy A .

Hãy tìm tổng lớn nhất của các phần tử trong dãy được chọn.

Dữ liệu:

  • Dòng đầu tiên chứa một số nguyên n ( 1 \le n \le 10^5 ).
  • Dòng thứ hai chứa n số nguyên A_1, A_2, \dots, A_n ( 1 \le A_i \le 10^9 ).
  • Dòng thứ ba chứa n số nguyên B_1, B_2, \dots, B_n ( 1 \le B_i \le 10^9 ).

Kết quả:

  • Một số nguyên duy nhất là tổng lớn nhất có thể đạt được.

Ví dụ:

Dữ liệu:

5
9 3 5 7 3
5 8 1 4 5

Kết quả:

29

Giải thích:

  • Các phần tử được chọn lần lượt là: A_1 (9) \to B_2 (8) \to A_4 (7) \to B_5 (5) . Tổng là 9 + 8 + 7 + 5 = 29 .

Dữ liệu:

3
1 2 9
10 1 1

Kết quả:

19

Giải thích:

  • Chọn B_1 (10) A_3 (9) . Tổng là 10 + 9 = 19 . Ta bỏ qua chỉ số i=2 để lấy được giá trị lớn hơn ở i=3 .

Giới hạn:

  • Subtask #1 (10% số điểm): n \le 20 .
  • Subtask #2 (15% số điểm): n \le 10^5 A_i = B_i với mọi 1 \le i \le n .
  • Subtask #3 (25% số điểm): n \le 2000 .
  • Subtask #4 (50% số điểm): Không có ràng buộc bổ sung.