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

Xem PDF




Tác giả:
Dạng bài
Điểm: 1700 Thời gian: 2.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

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.

Bình luận

Không có bình luận nào.