trang chủ / đề bài / voi25_tseq

Hai dãy số

Đề bài

Mô tả

Với niềm đam mê về các bài toán trên dãy số của mình, hôm nay thầy giáo Lê nghiên cứu bài toán trên hai dãy số A và B.

Dãy A gồm các số tự nhiên sắp xếp tăng dần từ 1 tới 109. Dãy B chỉ gồm duy nhất một số 0. Thầy Lê lần lượt đưa ra Q yêu cầu, mỗi yêu cầu thuộc một trong 3 loại sau:

  • Loại 1: Cho hai số X và K, yêu cầu cắt K số đầu tiên của dãy A, ghép vào ngay sau số có giá trị X của dãy B;
  • Loại 2: Cho hai số Y và H, yêu cầu xóa đi H số ngay sau số có giá trị Y của dãy B;
  • Loại 3: Cho hai số L và R, yêu cầu tính tổng của các số từ vị trí L đến vị trí R của dãy B. Vị trí các phần tử trong dãy B được đánh số từ 1.

Yêu cầu: Hãy thực hiện các yêu cầu đó theo đúng thứ tự mà thầy Lê đưa ra.

Dữ liệu vào

  • Dòng đầu chứa một số nguyên Q là số lượng yêu cầu thầy Lê cần thực hiện (1≤Q≤5×105).
  • Mỗi dòng trong số Q dòng tiếp theo chứa ba số nguyên mô tả một trong ba loại yêu cầu theo định dạng sau:
    • Loại 1: 1 X K mô tả yêu cầu loại 1 (0≤X≤109; 1≤K≤109). Dữ liệu bảo đảm tổng K của tất cả các yêu cầu loại 1 không quá 109 và giá trị X hiện đang có trong dãy B;
    • Loại 2: 2 Y H mô tả yêu cầu loại 2 (0≤Y≤109; 1≤H≤109). Dữ liệu bảo đảm có ít nhất H số sau giá trị Y và giá trị Y hiện đang có trong dãy B;
    • Loại 3: 3 L R mô tả yêu cầu loại 3 (1≤L≤R≤|B|), với |B| là số lượng phần tử hiện tại của dãy B.

Các số trên cùng một dòng cách nhau bởi dấu cách.

Dữ liệu ra

Với mỗi yêu cầu loại 3, in ra trên một dòng một số nguyên là đáp án tính được.

Ràng buộc

  • 1≤Q≤5×105.
  • Loại 1: 0≤X≤109, 1≤K≤109; tổng K của tất cả các yêu cầu loại 1 không quá 109; X hiện đang có trong dãy B.
  • Loại 2: 0≤Y≤109, 1≤H≤109; Y hiện đang có trong dãy B và có ít nhất H số sau Y.
  • Loại 3: 1≤L≤R≤|B|.

Subtasks

  • Subtask 1 (15% số điểm): Q,K≤500.
  • Subtask 2 (15% số điểm): Q≤5000.
  • Subtask 3 (20% số điểm): Không có yêu cầu loại 2; các yêu cầu loại 1 xuất hiện trước tất cả các yêu cầu loại 3.
  • Subtask 4 (25% số điểm): Không có yêu cầu loại 2.
  • Subtask 5 (25% số điểm): Không có ràng buộc nào thêm.

Ví dụ

Input Output Giải thích
6
1 0 3
1 1 2
3 3 5
2 4 2
1 4 4
3 2 7
11
35
Dãy B sau từng yêu cầu: ban đầu [0]; yêu cầu 1: [0,1,2,3]; yêu cầu 2: [0,1,4,5,2,3]; yêu cầu 3: các số từ vị trí 3 đến 5 là [4,5,2], tổng 11; yêu cầu 4: [0,1,4,3]; yêu cầu 5: [0,1,4,6,7,8,9,3]; yêu cầu 6: các số từ vị trí 2 đến 7 là [1,4,6,7,8,9], tổng 35.
5
1 0 5
2 2 2
3 1 4
1 5 2
3 2 6
8
21
Ví dụ bổ sung (không có trong đề gốc). B lần lượt là [0,1,2,3,4,5], rồi [0,1,2,5] (xóa 3,4 ngay sau 2); tổng vị trí 1 đến 4 là 8; sau đó [0,1,2,5,6,7], tổng vị trí 2 đến 6 là 1+2+5+6+7=21.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0