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

    solution

    Đề bài: [C#] Builder pattern sắp: median trượt cửa sổ K

    Cho N số nguyên và K. Mô phỏng ImmutableList.Builder bằng List giữ các phần tử cửa sổ đã sắp tăng dần. Mỗi bước i từ 0 đến N-1: chèn a[i] vào builder bằng List.BinarySearch, nếu builder.Count > K thì gỡ a[i-K] (dùng BinarySearch để tìm vị trí). Khi i ≥ K-1, in median = builder[K/2] (0-based, làm tròn xuống), mỗi số một dòng.

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

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

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

      1 ≤ K ≤ N ≤ 5000; |a_i| ≤ 10^9.

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

      N-K+1 dòng, mỗi dòng là median của cửa sổ.

    Ví dụ:

    Đầu vào:

    5 3
    1 3 2 5 4
    

    Đầu ra:

    2
    3
    4

    Giải thích:

    Cửa sổ [1,3,2]→2; [3,2,5]→3; [2,5,4]→4.

    Đang tải editor...