{"code":"dynamicprefixsum","name":"Mảng cộng dồn động","description":"Cho một mảng `A` gồm `n` phần tử số nguyên. Bạn cần xử lý `q` truy vấn thuộc một trong ba loại:\r\n\r\n- `1 x`: Thêm giá trị `x` vào cuối của mảng `A`.\r\n- `2`: Xóa giá trị cuối cùng của mảng `A`.\r\n- `3 l r`: Tính tổng phần tử từ chỉ số `l` đến `r`, chỉ số của mảng bắt đầu từ 1.\r\n\r\n---\r\n\r\n## **Input**\r\n\r\n- Dòng đầu tiên gồm hai số nguyên `n`, `q`.\r\n- Dòng thứ hai gồm `n` số nguyên `A_i`.\r\n- `q` dòng tiếp theo, mỗi dòng mô tả một truy vấn theo định dạng đã nêu ở trên.\r\n\r\n---\r\n\r\n## **Output**\r\n\r\n- In ra một số nguyên cho mỗi truy vấn loại `3`.\r\n\r\n---\r\n\r\n## **Giới hạn**\r\n\r\n- \\(1 \\le n, q \\le 10^5\\)\r\n- \\(1 \\le x \\le 10^9\\)\r\n- \\(1 \\le l \\le r \\le |A|\\), với \\(|A|\\) là độ dài của mảng `A` tại thời điểm truy vấn này xuất hiện.\r\n\r\n---\r\n\r\n## **Ví dụ**\r\n\r\n!!! question \"Test 1\"\r\n\r\n    ???+ \"Input\"\r\n\r\n        ```sample\r\n        5 4\r\n        1 2 3 4 5\r\n        3 1 5\r\n        1 6\r\n        2\r\n        3 2 3\r\n        ```\r\n\r\n    ???+ success \"Output\"\r\n\r\n        ```sample\r\n        15\r\n        5\r\n        ```\r\n\r\n    ??? warning \"Giải thích\"\r\n        - Ban đầu `A = [1, 2, 3, 4, 5]`.  \r\n        - Truy vấn `3 1 5` → tổng là `15`.  \r\n        - Truy vấn `1 6` → thêm 6, `A = [1, 2, 3, 4, 5, 6]`.  \r\n        - Truy vấn `2` → xóa phần tử cuối, `A = [1, 2, 3, 4, 5]`.  \r\n        - Truy vấn `3 2 3` → tổng là `2 + 3 = 5`.\r\n\r\n---","points":100.0,"partial":true,"time_limit":0.25,"memory_limit":102400,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}