Dãy con chung

Xem dạng PDF

Gửi bài giải


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

Nguồn bài:
VOS Round 30 - Liên
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho ~2~ dãy ~a_{1 \dots N}~ và ~b_{1 \dots M}~. Gọi ~c_{1 \dots k}~ là ~1~ dãy con chung (không cần liên tiếp) bất kì của ~2~ dãy này. Đặt ~f(c)~ ~=~ ~abs(c_{2}~ - ~c_{1})~ ~+~ ~abs(c_{3}~ - ~c_{2})~ ~+~ ...~+~ ~abs(c_{k}~ - ~c_{k - 1})~. Nếu số phần tử của ~c < 2~ thì ~f(c)~ ~= 0~.

Xác định dãy con chung có giá trị ~f~ lớn nhất và in ra giá trị đó.

Input

  • Dòng ~1~: ~2~ số nguyên ~N~ và ~M~
  • Dòng ~2~: ~N~ số nguyên biểu diễn dãy ~A~
  • Dòng ~3~: ~M~ số nguyên biểu diễn dãy ~B~

Output

Một dòng duy nhất ghi số nguyên kết quả.

Giới hạn

  • ~20\%~ số test có ~1 \le N~, ~M \le 20~
  • ~40\%~ số test có ~1 \le N~, ~M \le 200~
  • ~60\%~ số test có ~1 \le N~, ~M \le 2000~

Trong tất cả các test ~1 \le N~, ~M \le 5000~

Trong tất cả các test ~-10^{9} \le a_{i}~, ~b_{i} \le 10^{9}~

Sample Input

4 4
1 15 8 7
15 1 7 8

Sample Output

8

Note

Dãy con ~[15, 7]~


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.