Infinity - Water Tank

Xem PDF



Tác giả:
Dạng bài
Điểm: 2500 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Để chọn lựa các vị thần cho thiên đường infinity, đấng tối cao doangiaphuc13 đã quyết định sẽ cho các thí sinh ứng cử một bể nước hình hộp chữ nhật được chia thành \(n\) ngăn liên tiếp bởi \(n-1\) vách ngăn thẳng đứng, mỏng (bề dày không đáng kể). Đáy bể phẳng, nằm ngang ở độ cao \(0\); mỗi ngăn có diện tích đáy bằng \(1\) đơn vị, do đó thể tích nước trong một ngăn đúng bằng chiều cao cột nước của ngăn đó. Vách thứ \(i\) \((1 \le i \le n-1)\) nằm giữa ngăn \(i\) và ngăn \(i+1\), có chiều cao \(h_i\). Các \(h_i\) đôi một khác nhau. Hai thành ngoài cùng (bên trái ngăn \(1\) và bên phải ngăn \(n\)) cao vô hạn nên nước không bao giờ chảy ra khỏi bể. Gọi \(y_i\) là mực nước (chiều cao cột nước) ở ngăn \(i\). Theo nguyên lí bình thông nhau, nước chảy qua vách \(i\) từ ngăn \(i\) sang ngăn \(i+1\) khi và chỉ khi \(y_i > h_i\) và \(y_i > y_{i+1},\) và chảy theo chiều ngược lại khi \(y_{i+1} > h_i\) và \(y_{i+1} > y_i.\) Hệ ở trạng thái cân bằng khi không có vách nào đang có nước chảy qua. Nói riêng, hai ngăn kề nhau có mực nước bằng nhau và cùng không thấp hơn đỉnh vách giữa chúng tạo thành một khối nước thông nhau. Sau đó chúng luôn dâng lên cùng nhau. Các thí sinh cần xử lí \(q\) thao tác, mỗi thao tác thuộc một trong ba loại:

  • 1 p v — đổ từ từ (thành một dòng rất nhỏ) tổng cộng \(v\) đơn vị thể tích nước vào ngăn \(p\). Trong suốt quá trình đổ, hệ luôn kịp trở về trạng thái cân bằng; nước đầy tràn qua vách thấp hơn của một khối nước sẽ chảy tiếp sang ngăn bên kia, có thể tràn qua nhiều vách liên tiếp.
  • 2 p — cho biết mực nước hiện tại của ngăn \(p\).
  • 3 l r — cho biết mực nước lớn nhất trong các ngăn \(l,l+1,\dots,r\).

Mực nước nói chung không nguyên, nên hãy in nó dưới dạng phân số tối giản.

Chú ý: Áp suất do nước gây ra ở đáy ngăn \(i\) là \(p_i=d\cdot y_i\) với \(d\) là trọng lượng riêng của nước, nên mực nước và áp suất đáy chỉ sai khác một hằng số.

Input

Dòng đầu chứa hai số nguyên \(n\) và \(q\) — số ngăn và số thao tác.

Dòng thứ hai chứa \(n-1\) số nguyên \(h_1,h_2,\dots,h_{n-1}\) — chiều cao các vách ngăn, đôi một khác nhau.

\(q\) dòng tiếp theo, mỗi dòng mô tả một thao tác theo một trong ba dạng:

  • 1 p v
  • 2 p
  • 3 l r
Ràng buộc
  • \(2 \le n \le 2\cdot10^5\), \(1 \le q \le 2\cdot10^5\).
  • \(1 \le h_i \le 10^9\), các \(h_i\) đôi một khác nhau.
  • \(1 \le p \le n\).
  • \(1 \le v \le 10^9\).
  • \(1 \le l \le r \le n\).
  • Ban đầu bể hoàn toàn khô: \(y_i=0\) với mọi \(i\).

Output

Với mỗi thao tác loại \(2\) hoặc loại \(3\), in trên một dòng hai số nguyên \(a\) và \(b\) sao cho mực nước cần tìm bằng \(\frac{a}{b},\) với \(\gcd(a,b)=1\) và \(b\ge1\).

Nếu mực nước bằng \(0\) thì in 0 1.

Example

Test 1

Input
5 10
3 1 4 2
1 1 2
2 1
1 1 5
3 1 5
1 5 5
2 4
3 2 4
1 3 20
2 1
3 1 1
Output
2 1
3 1
5 2
5 2
32 5
32 5
Note

Kí hiệu trạng thái bằng bộ \((y_1,\dots,y_5)\).

  • 1 1 2: ngăn \(1\) chứa được tới mực \(h_1=3\), nên \(2\) đơn vị nước nằm lại: \((2,0,0,0,0)\).

  • 1 1 5: ngăn \(1\) đầy tới mực \(3\) (hết \(1\) đơn vị), \(4\) đơn vị còn lại tràn sang ngăn \(2\). Ngăn \(2\) bị chặn bởi vách \(h_2=1\) nên đầy tới mực \(1\) rồi tràn sang ngăn \(3\); ngăn \(3\) cũng chỉ chứa tới mực \(1\). Lúc đó hai mặt nước ở ngăn \(2\) và ngăn \(3\) chạm nhau tại đỉnh vách \(h_2\) nên thông nhau. Khối \(\{2,3\}\) rộng \(2\) nhận nốt \(2\) đơn vị, dâng lên mực \(2\): \((3,2,2,0,0)\).

  • 1 5 5: tương tự, ngăn \(5\) và ngăn \(4\) cùng đầy tới mực \(h_4=2\) rồi thông nhau, khối \(\{4,5\}\) nhận \(1\) đơn vị còn lại nên có mực \(\frac52\): \((3,2,2,\frac52,\frac52)\).

  • 1 3 20: khối \(\{2,3\}\) dâng tới mực \(3\) rồi thông với ngăn \(1\); khối \(\{1,2,3\}\) dâng tới mực \(4\) rồi tràn qua vách \(h_3=4\); khối \(\{4,5\}\) dâng tới mực \(4\) và thông nốt. Cả bể thành một khối rộng \(5\) chứa \(32\) đơn vị nước, mực nước \(\frac{32}{5}\).

Test 2

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

Sau thao tác thứ ba, trạng thái là \((5,2,1)\): nước tràn qua vách cao \(5\) rồi qua tiếp vách cao \(2\). Sau thao tác 1 3 5, ngăn \(3\) đầy tới mực \(2\), thông với ngăn \(2\), khối \(\{2,3\}\) dâng lên mực \(4\): \((5,4,4)\).

Scoring

  • Subtask 1 (30 điểm): \(n,q\le2000\).
  • Subtask 2 (30 điểm): \(n,q\le2\cdot10^5\) và không có thao tác loại \(3\).
  • Subtask 3 (40 điểm): Không có ràng buộc gì thêm.

Bình luận

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

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