ColorCell - Ô vuông đổi màu
Dữ liệu vào: Standard input
Dữ liệu ra: Standard output
Giới hạn thời gian: 30.0 giây
Giới hạn bộ nhớ: 512 megabyte
Đăng bởi: smurf

Cho lưới ô vuông vô hạng gồm các dòng và các cột. Các dòng được đánh số từ \(−\infty, \dots , −2, −1, 0, 1, 2, \dots , \infty\) theo hướng từ dưới lên trên, các cột cũng được đánh số từ \(−\infty, \dots , −2, −1, 0, 1, 2, \dots , \infty\) theo hướng từ trái qua phải.

Tại thời điểm \(𝑇 = 0\); trên mặt lưới cho \(𝑁\) ô vuông tọa độ \((x_1, y_1), (x_2, y_2), \dots , (x_N, y_N)\) có màu đen. Các ô vuông trên lưới có sự thay đổi màu theo quy tắc:

- Nếu một ô tại thời điểm \(𝑇\) có màu đen thì thời điểm \(𝑇 + 1\) sẽ có màu xám.

- Nếu một ô tại thời điểm \(𝑇\) có màu xám thì thời điểm \(𝑇 + 1\) sẽ có màu trắng.

- Nếu một ô tại thời điểm \(𝑇\) có màu trắng thời điểm \(𝑇 + 1\) sẽ có màu đen nếu có ít nhất một trong \(4\) ô kề cạnh có màu đen ở thời điểm \(𝑇\). Ngược lại ô màu trắng đó giữ nguyên màu ở thời điểm \(𝑇 + 1\).

Có \(𝑄\) thời điểm \(T_1, T_2, \dots , T_Q\). Với mỗi thời điểm \(T_j\) hãy đưa ra số ô vuông có màu đen tại thời điểm đó (thời điểm \(T_j\)).

Dữ liệu đầu vào:

- Dòng \(1\) ghi hai số nguyên dương \(𝑁\)\(𝑄\).

\(𝑁\) dòng sau, dòng thứ \(𝑖\) ghi tọa độ \(x_i\)\(y_i\) .

\(Q\) dòng cuối, mỗi dong ghi một số nguyên \(T_j\) \((j = 1, 2, \dots, Q)\).

Kết quả:

- Ghi ra \(𝑄\) dòng là số ô vuông có màu đen thời \(Q\) thời điểm tương ứng.

Giới hạn:

\(1 \leq N \leq 100 000\); \(1 \leq Q \leq 500 000\);

\(\left| x_i \right|, \left| y_i \right| ≤ 10^9\); \(1 \leq i \leq N\);

\((x_i, y_i) \neq (x_j , y_j)\) \(1 \leq i < 𝑗 \leq N\);

\(0 \leq T_j < T_{j+1} \leq 10^9 \);

Ví dụ

  • input
    4 4
    3 1
    0 6
    1 8
    5 1
    0 1 2 3
    output
    4
    15
    24
    32

Lưu ý: Test yếu + Memory Limit gốc là 1GB nhưng trang này set max chỉ được 512MB

Back to Top