Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Truy vấn trên mảng

Dễ

  • 100 Điểm
  • 0% Tỉ lệ AC
  • 0 Số AC
  • 256M Bộ nhớ giới hạn
  • 1.0s Giới hạn thời gian

Cho một mảng gồm \(N\) phần tử nguyên. Nhiệm vụ của bạn là thực hiện các truy vấn thuộc một trong ba loại sau:

  • 1 a b x --- Cộng thêm \(x\) vào tất cả các phần tử trong đoạn \([a, b]\).
  • 2 a b x --- Gán tất cả các phần tử trong đoạn \([a, b]\) bằng \(x\).
  • 3 a b --- In ra tổng các phần tử trong đoạn \([a, b]\).

Input

  • Dòng đầu tiên chứa hai số nguyên \(N\) và \(Q\) \((1 \leq N, Q \leq 2 \cdot 10^5)\) --- số phần tử của mảng và số truy vấn.
  • Dòng thứ hai chứa \(N\) số nguyên dương \(A_1, A_2, \ldots, A_N\) \((1 \leq A_i \leq 10^6)\) --- các phần tử ban đầu của mảng.
  • \(Q\) dòng tiếp theo, mỗi dòng mô tả một truy vấn theo một trong ba định dạng sau:

  • 1 a b x \((1 \leq a \leq b \leq N, 1 \leq x \leq 10^6)\).

  • 2 a b x \((1 \leq a \leq b \leq N, 1 \leq x \leq 10^6)\).
  • 3 a b \((1 \leq a \leq b \leq N)\).

Output

Với mỗi truy vấn loại 3, in ra một dòng chứa tổng các phần tử trong đoạn \([a, b]\) tại thời điểm đó.

Example

Test 1

Input
6 5
2 3 1 1 5 3
3 3 5
1 2 4 2
3 3 5
2 2 4 5
3 3 5
Output
7
11
15

Scoring

  • Subtask 1 (25% số điểm): \(N, Q \leq 2000\).
  • Subtask 2 (25% số điểm): Không có truy vấn loại \(2\).
  • Subtask 3 (25% số điểm): Không có truy vấn loại \(1\).
  • Subtask 4 (25% số điểm): Không có ràng buộc gì thêm.

Bình luận

Chưa có bình luận nào.