Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
P145SUMJ - ROUND 5J - Truy vấn |
Cho một dãy số A=(a_1,a_2,…,a_n ) và các loại truy vấn sau:
* 1 i j x: (i≤j) gán các phần từ thứ i đến thứ j trong dãy bằng x;
* 2 i j x: (i≤j) cộng phần tử thứ i cho x, thứ i+1 cho 2x,... , thứ j cho (j-i+1)x;
* 3 i x: chèn x vào trước phần tử thứ i của dãy hiện thời;
* 4 i j: (i≤j) Tính tổng từ phần tử thứ i đến phần tử thứ j.
Input
* Dòng đầu ghi hai số nguyên n ≤ 10^5 và số truy vấn Q ≤ 10^5.
* Dòng tiếp theo mô tả dãy số. Mỗi số không vượt quá 10^5.
* Q dòng tiếp theo mô tả các truy vấn theo định dạng như trong đề bài. Trong mọi truy vấn, 0 ≤ x ≤ 10^5.
Output
In ra kết quả cho từng truy vấn loại 4.
Example
Input: 5 5
1 2 3 4 5
1 5 5 0
4 4 5
4 5 5
2 1 5 1
4 1 5 Output: 4
0
25
Được gửi lên bởi: | adm |
Ngày: | 2014-07-22 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |