[Quảng Trị - TS10 - 2025] Bài 4: Số camera

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: CAU4.INP Output: CAU4.OUT

Một khu vui chơi gần bờ biển trải dài và hẹp, được chia thành \(n\) khu vực, đánh số từ \(1\) đến \(n\) và các khu vực được xem như nằm trên cùng một đường thẳng.

Để giám sát an ninh và các hoạt động trong các khu vui chơi Ban quản lý đã lắp đặt các cameras tại một số khu vực. Họ đã lắp \(q\) cameras tại các khu vực \(c_1, c_2, \dots, c_q\). Một khu vực có thể lắp đặt một hoặc nhiều cameras hoặc không. Nếu có camera lắp đặt tại khu vực \(i\) thì camera đó sẽ giám sát các khu vực \(i-r, \dots, i-1, i, i+1, \dots, i+r\); tức là ngoài khu vực \(i\) thì camera có thể giám sát \(r\) khu vực bên trái và \(r\) khu vực bên phải của \(i\) (nếu có ít hơn \(r\) khu vực bên trái hoặc bên phải của \(i\) thì camera sẽ chỉ giám sát các khu vực có trong phạm vi đó).

Yêu cầu: Hãy giúp Ban quản lý xác định xem tại mỗi khu vực trong khu vui chơi được giám sát bởi bao nhiêu cameras?

Input

  • Dòng đầu tiên chứa số nguyên \(n\) (\(1 \le n \le 10^5\));
  • Dòng thứ hai chứa hai số nguyên \(q, r\) (\(1 \le q \le 10^5, 0 \le r < n\));
  • Dòng thứ ba chứa \(q\) số nguyên \(c_1, c_2, \dots, c_q\) (\(1 \le c_i \le n, i = 1, 2, \dots, q\)).
    Các số trên một dòng cách nhau dấu cách.

Output

  • Ghi ra một dòng ghi \(n\) số nguyên cách nhau dấu cách, số thứ \(i\) là số lượng cameras giám sát khu vực \(i\).

Example

Test 1

Input
8
5 2
5 3 7 1 3
Output
3 3 4 3 4 2 2 1
Note

\(8\) khu vực trong khu vui chơi, có \(5\) cameras và bán kính giám sát của chúng là \(2\).

  • Camera thứ nhất tại khu vực \(5\) sẽ giám sát các khu vực \(3, 4, 5, 6, 7\).
  • Camera thứ hai tại khu vực \(3\) sẽ giám sát các khu vực \(1, 2, 3, 4, 5\).
  • Camera thứ ba tại khu vực \(7\) sẽ giám sát các khu vực \(5, 6, 7, 8\).
  • Camera thứ tư tại khu vực \(1\) sẽ giám sát các khu vực \(1, 2, 3\).
  • Camera cuối cùng tại khu vực \(3\) sẽ giám sát các khu vực \(1, 2, 3, 4, 5\).

Test 2

Input
5
4 0
1 2 1 3
Output
2 1 1 0 0
Note

Bán kính giám sát các cameras bằng \(0\) nên camera được lắp đặt tại khu vực nào chỉ giám sát khu vực đó.

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): \(r = 0\).
  • Subtask \(2\) (\(40\%\) số điểm): \(n, q \le 7000\).
  • Subtask \(3\) (\(20\%\) số điểm): \(n \le 7000\).
  • Subtask \(4\) (\(20\%\) số điểm): Không có ràng buộc gì thêm.

Bình luận (1)

Mới nhất
Tải bình luận...