{"code":"rangeupdatesandsums","name":"Range Updates and Sums","description":"Cho mảng gồm $N$ phần tử là các số nguyên. Nhiệm vụ của bạn là xử lý các loại truy vấn sau:\r\n+ $1$ $a$ $b$ $x$ : Tăng các phần tử từ $a$ đến $b$ lên $x$.\r\n+ $2$ $a$ $b$ $x$ : Thay đổi tất cả các phần tử từ $a$ đến $b$ thành $x$.\r\n+ $3$ $a$ $b$ : Tính tổng các phần tử từ $a$ đến $b$.\r\n\r\n#### Input\r\n- Dòng thứ nhất gồm hai số nguyên $N, Q$ là kích thước mảng và số truy vấn.\r\n- Dòng thứ hai gồm $N$ số nguyên dương $A_1, A_2, ..., A_N$ $(1 \\leq A_i \\leq 10^6)$.\r\n- $Q$ dòng tiếp theo, mỗi dòng mô tả một truy vấn thuộc một trong ba dạng sau:\r\n    - $1$ $a$ $b$ $x$ $(1 \\leq a \\leq b \\leq N, 1 \\leq x \\leq 10^6)$.\r\n    - $2$ $a$ $b$ $x$ $(1 \\leq a \\leq b \\leq N, 1 \\leq x \\leq 10^6)$.\r\n    - $3$ $a$ $b$ $(1 \\leq a \\leq b \\leq N)$.\r\n\r\n#### Output\r\n- In ra kết quả cho các truy vấn $3$.\r\n\r\n#### Scoring \r\n- Subtask $1$ ($50\\%$ số điểm): $N, Q \\leq 2.10^3$.\r\n- Subtask $2$ ($50\\%$ số điểm): $N, Q \\leq 2.10^5$.\r\n\r\n#### Example\r\n\r\n!!! question \"Test 1\"\r\n    ???+ \"Input\"\r\n        ```sample\r\n        6 5\r\n        2 3 1 1 5 3\r\n        3 3 5\r\n        1 2 4 2\r\n        3 3 5\r\n        2 2 4 5\r\n        3 3 5 \r\n        ```\r\n    ???+ success \"Output\"\r\n        ```sample\r\n        7\r\n        11\r\n        15\r\n        ```","points":300.0,"partial":true,"time_limit":1.0,"memory_limit":524288,"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}}