VOI 22 Bài 1 - Chọn cặp

View as PDF

Submit solution

Points: 0.50 (partial)
Time limit: 2.0s
Memory limit: 512M
Input: PAIR.INP
Output: PAIR.OUT

Problem source:
Kỳ thi Học sinh giỏi Quốc gia 2022 - Ngày 1
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Hưởng ứng phong trào thi đua học tập của trường, cô giáo chủ nhiệm lớp của Nam muốn chọn các cặp đôi bạn giúp đỡ nhau cùng tiến. Lớp của Nam có ~n~ học sinh, được đánh số từ ~1~ đến ~n~, học sinh thứ ~i~ có chỉ số học lực ~a_i~. Để có được sự cân bằng giữa các cặp bạn cùng tiến, cô giáo muốn chọn các cặp bạn có tổng chỉ số học lực đôi một giữa các cặp chênh nhau không quá một giá trị nhỏ ~d~ sao cho mỗi bạn xuất hiện trong không quá một cặp. Cô giáo mong muốn chọn được nhiều cặp như vậy nhất.

Yêu cầu: Cho biết số học sinh của lớp và chỉ số học lực của từng học sinh, hãy tính số cặp bạn cùng tiến nhiều nhất mà có tổng chỉ số học lực đôi một giữa các cặp chênh nhau không quá ~d~.

Dữ liệu

Vào từ file văn bản PAIR.INP:

  • Dòng đầu tiên chứa hai số nguyên không âm ~n, d~ (~n \ge 2~);
  • Dòng thứ hai chứa ~n~ số nguyên dương, số thứ ~i~ là chỉ số học lực ~a_i~ của học sinh thứ ~i~ (~1 \le i \le n~, ~a_i \le 10^9~).

Các số trên cùng một dòng cách nhau bởi dấu cách.

Kết quả

Ghi ra file văn bản PAIR.OUT một số nguyên duy nhất là số cặp nhiều nhất tìm được.

Ràng buộc

  • Có ~20\%~ số test ứng với ~20\%~ số điểm của bài thỏa mãn: ~n \le 10~; ~d = 0~;
  • ~20\%~ số test khác ứng với ~20\%~ số điểm của bài thỏa mãn: ~n \le 200~; ~d = 0~;
  • ~20\%~ số test khác ứng với ~20\%~ số điểm của bài thỏa mãn: ~n \le 2000~; ~d = 0~;
  • ~30\%~ số test khác ứng với ~30\%~ số điểm của bài thỏa mãn: ~n \le 200~; ~d = 1~;
  • ~10\%~ số test còn lại ứng với ~10\%~ số điểm của bài thỏa mãn: ~n \le 2000~; ~d = 1~.

Ví dụ

Input
7 1
9 1 2 4 5 6 8
Output
3
Giải thích

Một phương án chọn được nhiều nhất cặp các bạn học sinh với tổng học lực đôi một chênh nhau không quá ~1~ là:

$$\begin{array}{rcl} 1 + 8 &=& 9; \\ 2 + 6 &=& 8; \\ 4 + 5 &=& 9. \end{array}$$

Một phương án khác cũng chọn được ~3~ cặp là:

$$\begin{array}{rcl} 1 + 9 &=& 10; \\ 2 + 8 &=& 10; \\ 4 + 6 &=& 10. \end{array}$$


Comments

Please read the guidelines before commenting.



  • 3
    tretrauvl  commented on Jan. 15, 2024, 8:37 a.m.

    Bạn em phatnguyen code ac nhưng lại sai test này:

    Input:
    7 0
    1 4 2 9 9 9 5
    
    Output: 
    2
    

    • 0
      phatnguyen  commented on Jan. 15, 2024, 9:07 a.m.

      ok cảm ơn bạn, mình đã fix rồi


  • -42
    nhatquang1310  commented on Sept. 28, 2023, 2:24 p.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


  • -31
    dvquang  commented on July 12, 2023, 3:28 a.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


  • -28
    taintedsilk  commented on March 17, 2023, 1:08 p.m. edit 7

    This comment is hidden due to too much negative feedback. Show it anyway.


  • -31
    vanhieu  commented on Dec. 6, 2022, 7:19 a.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


  • -4
    nguot  commented on April 15, 2022, 4:28 a.m.

    this problem is so "thông minh"