TST 2025 - Bài 1

View as PDF

Submit solution

Points: 0.01 (partial)
Time limit: 2.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Bạn được cho một dãy số ~H~ gồm ~N~ phần tử và ~Q~ truy vấn, mỗi truy vấn gồm hai số nguyên dương ~L,R\ (1\le L\le R\le N)~. Với mỗi truy vấn, xét dãy số ~A=\{H_L,H_{L+1},\dots,H_R\}~, nhiệm vụ của bạn là sắp xếp lại dãy số ~A~ theo thứ tự bất kỳ sao cho tổng chênh lệch của hai phần tử liên tiếp bất kỳ trong dãy là lớn nhất có thể. Hay nói cách khác, bạn cần tối đa hóa giá trị của ~S=\sum_{i=1}^{R-L}|A_i-A_{i+1}|~.

Input

Dòng đầu tiên gồm hai số nguyên dương ~N~ và ~Q~ tương ứng với số lượng phần tử trong dãy ~H~ và số lượng truy vấn (~1\le N,Q\le 4\times 10^5~).

Dòng thứ hai gồm ~N~ số nguyên dương ~H_1,H_2,\dots,H_N~ tương ứng với giá trị của các phần tử trong dãy ~H~ (~1\le H_i\le 10^9~).

Cuối cùng là ~Q~ dòng, mỗi dòng gồm hai số nguyên dương ~L,R~ mô tả các truy vấn (~1\le L\le R\le N~).

Output

Với mỗi truy vấn, in ra kết quả trên một dòng là tổng chênh lệch tối đa có thể đạt được.

Scoring

Subtask Điểm Giới hạn
1 ~12~ ~N,Q\le 20~
2 ~20~ ~N,Q\le 2000~
3 ~15~ ~N,Q\le 5\times 10^4~
4 ~15~ ~H_i\le 100~ với mọi ~i~ từ ~1~ đến ~N~
5 ~20~ ~N,Q\le 15\times 10^4~
6 ~18~ Không có ràng buộc gì thêm

Sample Input 1

5 2
1 2 3 4 8
1 5
1 3

Sample Output 1

17
3

Comments

Please read the guidelines before commenting.


There are no comments at the moment.