Universal Cup Judging System

Universal Cup

حد الوقت: 4.0 s حد الذاكرة: 1024 MB مجموع النقاط: 100 قابلة للهجوم ✓
الإحصائيات

Sau kỳ thi chọn đội tuyển tỉnh, White rơi vào một khoảng thời gian dài thất vọng. Cô không tìm thấy chút hy vọng nào trong kết quả của mình. Dù vậy, White vẫn tiếp tục đợt huấn luyện cuối cùng trước kỳ thi NOI. Bên cạnh việc luyện tập thường xuyên, cô cũng bắt đầu khám phá những chủ đề mà mình chưa từng có cơ hội học trong những ngày tháng OI — hy vọng rằng trước khi nói lời tạm biệt, sẽ không còn điều gì phải hối tiếc.

Gạt bỏ những suy nghĩ miên man, White bất chợt tập trung vào một bài toán trước mắt mình, một bài toán cấu trúc dữ liệu giản dị và nhàm chán —

White có một dãy gồm $n$ số nguyên $a_1, a_2, \dots, a_n$. Cô sẽ thực hiện $q$ thao tác trên dãy này. Mỗi thao tác thuộc một trong ba loại sau:

  • 1 l r v — Cộng $v$ vào mỗi phần tử trong đoạn $[l, r]$.
  • 2 l r v — Gán mỗi phần tử trong đoạn $[l, r]$ bằng $v$.
  • 3 l r — Truy vấn giá trị $\sum_{i=l}^r (\min_{j=l}^i a_j) \times (\max_{j=l}^i a_j)$ theo modulo $2^{64}$.

Nhiệm vụ của bạn là mô phỏng tất cả các thao tác và in ra kết quả của tất cả các truy vấn.

Dữ liệu

Dòng đầu tiên của dữ liệu vào chứa hai số nguyên $n, q$ ($1 \le n, q \le 2 \times 10^5$), lần lượt biểu thị số lượng phần tử và số lượng thao tác.

Dòng thứ hai chứa $n$ số nguyên $a_1, a_2, \cdots, a_n$ ($0 \le a_i \le 10^9$), biểu thị các phần tử ban đầu.

Mỗi dòng trong $q$ dòng tiếp theo mô tả một thao tác theo một trong ba định dạng:

  • 1 l r v ($1 \le l \le r \le n, -10^9 \le v \le 10^9$), biểu thị thao tác Cộng.
  • 2 l r v ($1 \le l \le r \le n, 1 \le v \le 10^9$), biểu thị thao tác Gán.
  • 3 l r ($1 \le l \le r \le n$), biểu thị thao tác Truy vấn.

Dữ liệu đảm bảo $0 \le a_i \le 10^9$ với mọi $1 \le i \le n$ trong suốt toàn bộ quá trình.

Kết quả

Với mỗi thao tác Truy vấn, in ra một số nguyên trên một dòng — kết quả của truy vấn theo modulo $2^{64}$.

Ví dụ

Dữ liệu

5 8
2 3 5 4 1
3 1 5
3 2 4
2 4 5 2
3 1 5
3 2 4
1 1 2 5
3 1 5
3 2 4

Kết quả

35
39
40
34
177
120

Dữ liệu

10 20
1 2 3 4 5 6 7 8 9 10
1 1 10 1
3 1 5
3 2 9
3 8 10
1 2 5 10
3 1 5
3 2 9
3 8 10
1 5 9 -5
3 1 5
3 2 9
3 8 10
1 2 5 -10
3 1 5
3 2 9
3 8 10
1 5 9 5
3 1 5
3 2 9
3 8 10

Kết quả

40
156
270
120
1202
270
118
831
80
33
61
80
40
156
270

Giải thích

Ở bộ test đầu tiên:

Dãy ban đầu là 2 3 5 4 1. Sau thao tác thứ ba, dãy trở thành 2 3 2 2 1, và sau thao tác thứ sáu, dãy trở thành 7 8 7 7 6.

Với truy vấn đầu tiên, đáp án là $\sum_{i=1}^5 (\min_{j=1}^i a_j) \times (\max_{j=1}^i a_j) = 2 \times 2 + 2 \times 3 + 2 \times 5 + 2 \times 5 + 1 \times 5 = 35$.

Với truy vấn thứ hai, đáp án là $\sum_{i=2}^4 (\min_{j=2}^i a_j) \times (\max_{j=2}^i a_j) = 3 \times 3 + 3 \times 5 + 3 \times 5 = 39$.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.