Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Lập trình Web & Backend] Top-N theo điểm với tie-break

    Top-N theo điểm với tie-break

    Bảng xếp hạng thường lấy Top-N: sắp theo score giảm dần, nếu bằng điểm thì ưu tiên id nhỏ hơn (tie-break), rồi lấy n bản ghi đầu.

    Cho danh sách bản ghi { "id":..., "score":... } và số n. Hãy in JSON mảng Top-N theo quy tắc trên. Nếu n lớn hơn số bản ghi, trả tất cả.

    Ví dụ

    Score: A=90(id2), B=90(id1), C=80(id3), n=2 → cùng 90 thì id nhỏ trước: B(id1),A(id2).

    • Định dạng đầu vào:

      Dòng 1: JSON mảng bản ghi, mỗi bản ghi có id (số) và score (số). Dòng 2: số nguyên n.

    • Ràng buộc đầu vào:

      0 ≤ số bản ghi ≤ 1000; id duy nhất; 0 ≤ n ≤ 1000.

    • Định dạng đầu ra:

      In JSON mảng Top-N bản ghi (score desc, tie-break id asc).

    Ví dụ:

    Đầu vào:

    [{"id":2,"score":90},{"id":1,"score":90},{"id":3,"score":80}]
    2
    

    Đầu ra:

    [{"id":1,"score":90},{"id":2,"score":90}]

    Giải thích:

    Score desc: 90,90,80. Cùng 90 tie-break id asc → id1 trước id2. Top2 → [id1, id2].

    Đang tải editor...