Tặng quà (OLP MT&TN 2021 CT)

Trong buổi giao lưu các thí sinh tham gia kỳ thi, thầy Nhỏ đã chuẩn bị \(2n\) món quà dành cho các thí sinh đạt giải. Khi cho các món quà vào túi, thầy Nhỏ đã đưa các món quà vào theo một thứ tự mà nếu lấy ra, các món quà sẽ có mã màu lần lượt là \(c_1,c_2,…,c_{2n}\).

\(m (m \le n)\) thí sinh đạt giải, mỗi bạn sẽ được nhận hai món quà sau hai lượt tặng. Các thí sinh đứng thành một hàng và thầy Nhỏ sẽ đi từ đầu hàng đến cuối hàng để lần lượt tặng quà cho từng bạn. Khi đứng trước một bạn để tặng quà, thầy Nhỏ lần lượt lấy từng món quà ra cho tới khi lựa chọn được một món quà phù hợp để tặng, các món quà không được lựa chọn sẽ cất đi và không được dùng để tặng quà. Khi bạn thứ \(m\) ở cuối hàng đã được nhận quà, thầy Nhỏ tiếp tục tặng quà lượt thứ hai tương tự như lượt thứ nhất nhưng bắt đầu từ bạn thứ m lùi về đầu hàng. Thầy Nhỏ được biết, các thí sinh mong muốn nhận được hai món quà mà chênh lệch mã màu của hai món quà đó không vượt quá \(d\) nên Thầy quyết định việc tặng quà sẽ phải bảo đảm tất cả các thí sinh đều nhận được hai món quà mà chênh lệch mã màu không vượt quá \(d\).

Một cách hình thức, gọi \(m\) là số lượng thí sinh được tặng quà, thầy Nhỏ cần chọn ra dãy \(2m\) chỉ số \(1 \le i_1<i_2<...<i_m<i_{(m+1)}<...<i_{2m}\le2n\) sao cho \(|c_{i_k}-c_{i_{2m+1-k}} |\le d\) với mọi \(1\le k\le m\).

Thầy Nhỏ biết rằng, có thể không tồn tại cách chọn được 2m chỉ số thỏa mãn, điều đó cũng có nghĩa là không thể tặng quà như mong muốn cho cả \(m\) thí sinh. Do đó, với một số nguyên dương \(d\) và thứ tự các món quà lấy ra có mã màu lần lượt là \(c_1,c_2,…,c_{2n}\), thầy Nhỏ muốn tính số lượng nhiều nhất các bạn có thể tặng quà.

Yêu cầu: Hãy giúp thầy Nhỏ tính số lượng nhiều nhất các thí sinh mà thầy Nhỏ có thể tặng quà đáp ứng điều kiện nêu trên.

Input

Vào từ thiết bị vào chuẩn có khuôn dạng:

  • Dòng thứ nhất chứa hai số nguyên dương \(n\)\(d (d\le 10^6)\);
  • Dòng thứ hai chứa \(2n\) số nguyên dương \(c_1,c_2,...,c_{2n}\) là mã màu của các món quà lần lượt được lấy ra, các số không vượt quá \(10^6\).

Output

Ghi ra thiết bị ra chuẩn một số nguyên duy nhất là số lượng nhiều nhất các thí sinh mà thầy Nhỏ có thể tặng quà.

Scoring

  • Subtask \(1\) (\(40\%\) số điểm): \(n\le 10\);
  • Subtask \(2\) (\(30\%\) số điểm): \(n\le 150\);
  • Subtask \(3\) (\(30\%\) số điểm): \(n\le 2000\).

Example

Test 1

Input
3 1
1 4 5 3 2 6
Output
2
Note

Thầy Nhỏ có thể tặng tối đa cho 2 thí sinh.

  • Lượt thứ nhất, món quà có mã màu 1 tặng bạn thứ nhất, món quà có mã màu 4 tặng bạn thứ hai.
  • Lượt thứ hai, món quà có mã màu 5 tặng bạn thứ hai và món quà có mã màu 2 tặng bạn thứ nhất.
...More

A Plus B

Tudor is sitting in math class, on his laptop. Clearly, he is not paying attention in this situation. However, he gets called on by his math teacher to do some problems. Since his math teacher did not expect much from Tudor, he only needs to do some simple addition problems. However, simple for you and I may not be simple for Tudor , so please help him!

Input Specification

The first line will contain an integer ~N~ (~1 \le N \le 100\,000~), the number of addition problems Tudor needs to do. The next ~N~ lines will each contain two space-separated integers whose absolute value is less than ~1\,000\,000\,000~, the two integers Tudor needs to add.

Output Specification

Output ~N~ lines of one integer each, the solutions to the addition problems in order.

Sample Input

    2
    1 1
    -1 0

Sample Output

    2
    -1
...More

Tam giác (OLP MT&TN 2022 CT)

Thời gian rảnh Thuận thường hướng dẫn các em nhỏ học lập trình, dưới đây là một bài toán rèn luyện kĩ năng cũng như tư duy lập trình.

Cho một dãy số nguyên dương \(a_1, a_2, ..., a_n (1 < a_i \le 10^9)\) và số nguyên dương \(t (1 \le t \le 3)\). Gọi \(s_1, s_2, s_3\) tương ứng là số bộ chỉ số \(1 \le i < j < k \le n\)\(a_i, a_j, a_k\) là ba cạnh của một tam giác nhọn, tam giác vuông, tam giác tù. Hãy tính giá trị \(s_t\).

Input

Vào từ thiết bị vào chuẩn có khuôn dạng:

  • Dòng đầu chứa hai số nguyên dương \(n, t\);
  • Dòng thứ hai gồm \(n\) số nguyên dương \(a_1, a_2, ..., a_n\).

Output

  • Ghi ra thiết bị ra chuẩn một dòng chứa một số nguyên là giá trị \(s_t\) tính được.

Scoring

  • Subtask #1 (\(30\%\) số điểm): \(n = 3\) và 10% cho từng giá trị của \(t\);
  • Subtask #2 (\(30\%\) số điểm): \(n \le 300\) và 10% cho từng giá trị của \(t\);
  • Subtask #3 (\(40\%\) số điểm): \(n \le 3000\)

Example

Test 1

Input
3 2
3 4 5
Output
1

Test 2

Input
4 1
3 4 5 6
Output
1
...More

Đặc trưng của cây (OLP MT&TN 2022 CT)

Khi nghiên cứu về lý thuyết đồ thị, Thuận đã tìm ra một đặc trưng cho cây. Cụ thể, với cây
gồm \(n\) đỉnh, đỉnh \(i (1 \le i \le n)\) có trọng số là \(w[i]\), gọi \(f(i, j)\) là độ mất cân bằng giữa hai
đỉnh \(i\)\(j (1 \le i, j \le n)\), trọng số \(f(i, j)\) được tính bằng chênh lệnh trọng số giữa đỉnh có
trọng số lớn nhất với đỉnh có trọng số bé nhất trong các đỉnh nằm trên đường đi từ \(i\) đến \(j\)
(bao gồm cả \(i, j\)). Độ mất cân bằng \(T\) của cây là tổng độ mất cân bằng giữa mọi cặp đỉnh.

\[T = \sum_{i=1}^{n} \sum_{j=1}^{n}f(i, j)\]

Yêu cầu: Cho một cây và trọng số các đỉnh, hãy tính giá trị \(T\).

Input

Vào từ thiết bị vào chuẩn có khuôn dạng:

  • Dòng đầu chứa số nguyên dương \(n\);
  • Dòng thứ hai gồm \(n\) số nguyên \(w_1, w_2, ..., w_n (1 \le w_i \le 10^6)\);
  • Dòng thứ \(k (1 \le k \le n - 1)\) trong \(n - 1\) dòng tiếp theo chứa hai số \(u_k, v_k (1 \le u_k, v_k \le n)\)
    mô tả cạnh thứ \(k\) của cây.

Output

  • Ghi ra thiết bị ra chuẩn một số nguyên là giá trị \(T\) tính được.

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): \(n \le 700\);
  • Subtask \(2\) (\(20\%\) số điểm): \(n \le 7000\);
  • Subtask \(3\) (\(20\%\) số điểm): \(1 \le w_i \le 2\);
  • Subtask \(4\) (\(20\%\) số điểm): \(n \le 10^5\);
  • Subtask \(5\) (\(20\%\) số điểm): \(n \le 10^6\);

Example

Test 1

Input
4
1 1 2 3
1 2
1 3
1 4
Output
8

Test 2

Input
4
1 2 2 2
1 2
2 3
3 4
Output
3
...More