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

    solution

    Đề bài: [C] Linked list — Xoá mọi node có node lớn hơn bên phải

    Cho danh sách liên kết đơn nnn phần tử. Hãy xoá khỏi danh sách mọi node vvv mà tồn tại ít nhất một node có giá trị lớn hơn vvv nằm bên phải vvv (gần cuối hơn). In danh sách còn lại.

    Ví dụ: 12 → 15 → 10 → 11 → 5 → 6 → kết quả 15 → 11 → 6 (12 bị xoá vì có 15 bên phải; 10 bị xoá vì có 11 bên phải; 5 bị xoá vì có 6 bên phải).

    Gợi ý: đảo danh sách, duyệt giữ giá trị max đã thấy, xoá node nhỏ hơn max, đảo lại.

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

      Dòng 1: nnn. Dòng 2: nnn số nguyên.

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

      0≤n≤1050 \le n \le 10^50≤n≤105, ∣ai∣≤109|a_i| \le 10^9∣ai​∣≤109.

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

      Một dòng các phần tử còn lại theo thứ tự ban đầu (nếu rỗng in dòng trống).

    Ví dụ:

    Đầu vào:

    6
    12 15 10 11 5 6
    

    Đầu ra:

    15 11 6

    Giải thích:

    12<15, 10<11, 5<6 → bị xoá; còn 15 11 6.

    Đang tải editor...