TLEoj Contest #09 - PVBM

Xem PDF

Nộp bài

Điểm: 1500 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 256M
Input: bàn phím
Output: màn hình

Tác giả:
Dạng bài

T là một người vô cùng thượng đẳng, hiện đang làm chủ 1 nhà hàng ở đâu đó. Hắn ta cứ hở ra là lại nói những thứ rất là súc vật và mang tính phân biệt đối xử khá cao - đến mức vài người coi hắn là truyền nhân tương lai của anh họa sĩ người Áo nào đó. Cay cú và nghĩ rằng mình bị kì thị do suốt ngày ăn nói lung tung, hắn muốn hợp lí hóa đống tư tưởng siêu cực đoan của mình bằng cách thống kê những hành động của các thực khách trong nhà hàng của mình.

Ở đất nước của hắn (dĩ nhiên là Byteland, Bitland là cho bọn khố rách áo ôm, đương nhiên rồi) có N thành phố, được đánh số từ 1 đến N. T quá racist nên không phục vụ cho bất kì thực khách nào không đến từ 1 trong N thành phố của đất nước Byteland cả. Với những khách hàng của mình, hắn chia nhà hàng của hắn thành 2 khu vực:

  • Khu vực phục vụ: Gồm N phòng ăn tập trung được đánh số từ 1...N. Phòng ăn thứ i chỉ dành cho những người đến từ thành phố i, và có sức chứa là C[i] khách. Khi 1 khách hàng từ thành phố i đến, nếu trong phòng ăn thứ i đang có ít hơn C[i] người, khách hàng này sẽ được đi thẳng vào phòng ăn
  • Khu vực chờ: Gồm N phòng chờ được đánh số từ 1...N. Phòng chờ thứ i chỉ dành cho những người đến từ thành phố i, và có sức chứa là D[i] khách. Nếu 1 khách hàng đến từ thành phố i đến và phòng ăn tập trung thứ i không còn chỗ, khách hàng đó sẽ vào phòng chờ thứ i. Nếu 1 vị khách đang ở trong phòng ăn thứ i bị đuổi ra, họ sẽ vào phòng chờ thứ i. Nếu 1 vị khách bị đuổi khỏi khu vực chờ, họ sẽ không quay trở lại.
  • Nếu 1 khách hàng từ thành phố i đến và cả phòng ăn thứ i lẫn phòng chờ thứ i đều không còn chỗ, họ sẽ đi về và không gây ảnh hưởng gì đến số liệu cả.

Trong 1 ngày sẽ có Q hành động, mỗi hành động được kí hiệu như sau:

  • 1 l r k: 1 nhóm các đại biểu đến nhà hàng. Với mỗi thành phố có số thứ tự i (l \le i \le r), lần lượt có k đại biểu đi đến nhà hàng.

  • 2 l r k: Với mỗi phòng có số thứ tự i (l \le i \le r), lần lượt đuổi k người đi. Nếu trong phòng ăn nào đó có ít hơn k người, đuổi tất cả mọi người đi.

  • 3 A k: Mời k vị khách vào khu vực chờ sớm nhất (tính đến thời điểm hiện tại) vào phòng ăn tương ứng. Nếu trong khu vực chờ có ít hơn k khách, cho tất cả vào. Nếu trong phòng ăn i không còn chỗ, khách hàng này sẽ tự bỏ về, rời khỏi khu vực chờ.

  • 3 B k: Đuổi k vị khách vào khu vực chờ sớm nhất (tính đến thời điểm hiện tại) khỏi nhà hàng.

  • 4 A: Tìm số vị khách lớn nhất đến từ cùng 1 thành phố đã đến nhà hàng.

  • 4 B: Tìm số vị khách lớn nhất đến từ cùng 1 thành phố đang trong khu vực phục vụ.
  • 4 C: Tìm số vị khách lớn nhất đến từ cùng 1 thành phố đang trong khu vực chờ.

  • 5 A: Tính tổng số người đang ở trong khu vực phục vụ ở thời điểm hiện tại

  • 5 B: Tính tổng số người đang ở trong khu vực chờ ở thời điểm hiện tại.

Dữ liệu đầu vào đảm bảo:

  • Số khách hàng từng vào nhà hàng không vượt quá 10^7
  • Số lần 1 vị khách vào khu vực phục vụ không vượt quá 10^7
  • Trong mọi truy vấn loại 1,2,3; k \le 10^9

Yêu cầu: Với mỗi truy vấn loại 4 hoặc loại 5, in ra thông tin mà truy vấn yêu cầu.

Input, Output và Scoring

Input (bàn phím)
  • Dòng đầu tiên gồm 2 số N, Q (1 \le N, Q \le 10^5) - Số thành phố trong đất nước Byteland, và số hành động trong ngày hôm đó.
  • Dòng thứ 2 gồm N số C[1], C[2],....., C[N] (1 \le C[i] \le 10^{18}) - sức chứa của phòng ăn thứ i
  • Dòng thứ 3 gồm N số D[1], D[2],....., D[N] (1 \le D[i] \le 10^{18}) - sức chứa của phòng chờ thứ i
  • Q dòng tiếp theo gồm các số miêu tả các truy vấn.
Output (màn hình)
  • Với mỗi truy vấn loại 4 hoặc $5, in ra dữ liệu được yêu cầu trên 1 dòng.
Subtasks
  • Subtask 1 (3% số điểm): Chỉ gồm các truy vấn loại 15; N,Q \le 1000; với mọi truy vấn loại 1: k=1; C[1] = C[2] = ... = C[N] = 10^{18}
  • Subtask 2 (8% số điểm): Chỉ gồm các truy vấn loại 1,4,5; N,Q \le 100000
  • Subtask 3 (27% số điểm): C[1] = C[2] = ... = C[N], D[1] = D[2] = ... = D[N]
  • Subtask 4 (29% số điểm): D[1] = D[2] = ... = D[N] = 10^{18}; l=1r=N với mọi truy vấn loại 12
  • Subtask 5 (33% số điểm): Không có điều kiện gì thêm

Sample

Input (bàn phím)
7 10
100 100 100 100 100 100 100
5 5 5 5 5 5 5
1 1 4 11
1 2 6 12
1 3 7 18
1 1 10 40
1 5 9 12
4 B
4 A
4 C
5 A
5 B
Output (màn hình)
82
82
0
510
0
Notes

Sau 5 truy vấn đầu tiên:

  • Số người đang ở trong các phòng ăn: 51 63 81 81 82 82 70$
  • Số người đang ở trong các phòng chờ: 0 0 0 0 0 0 0
  • Truy vấn loại 4B hỏi số người nhiều nhất đang ở trong cùng 1 phòng ăn. Kết quả là 82 - thuộc về phòng 5 hoặc 6.
  • Do chưa ai bị đuổi ra ngoài nên số người nhiều nhất đến từ cùng 1 thành phố mà đã đến nhà hàng cũng là 82 - thuộc về thành phố 5 hoặc 6.
  • Do chưa ai bị đuổi ra ngoài, số người nhiều nhất đến từ cùng 1 thành phố mà đã bị đuổi là 0 - cả 7 thành phố đều vậy.
  • Tổng số người đang ở trong khu vực phục vụ là 510
  • Không có ai ở trong khu vực chờ cả.

Sample 2

Input (bàn phím)
5 5
2 3 5 3 2
2 2 2 2 2
1 1 5 3
2 1 5 1
3 B 3
3 A 4
4 B
Output (màn hình)
3
Notes

Sau truy vấn đầu tiên:
Phòng ăn: 2 3 3 3 2
Phòng đợi: 1 0 0 0 1
Hàng đợi: 1 5

Sau truy vấn thứ 2:
Phòng ăn: 1 2 2 2 1
Phòng chờ: 2 1 1 1 2
Hàng đợi: 1 5 1 2 3 4 5

Sau truy vấn thứ 3:
Phòng ăn: 1 2 2 2 1
Phòng chờ: 0 1 1 1 1
Hàng đợi: 2 3 4 5

Sau truy vấn thứ 4:
Phòng ăn: 1 3 3 3 2
Phòng chờ: 0 0 0 0 0


Bình luận

Không có bình luận nào.