Universal Cup Judging System

Universal Cup

Süre Sınırı: 4.0 s Bellek Sınırı: 1024 MB Toplam puan: 100 Hack'lenebilir ✓
İstatistikler

省隊選拔結束之後,White 陷入咗漫長嘅失落之中。佢喺自己嘅成績入面睇唔到任何希望。就算係咁,White 依然堅持住 NOI 之前嘅最後訓練。除咗常規訓練之外,佢亦開始探索嗰啲喺佢 OI 生涯入面從來冇機會學嘅課題——希望喺道別之前,唔再留低遺憾。

撇開腦入面雜亂嘅思緒,White 突然將注意力集中喺眼前嘅一道題目上面,呢道係一道樸實而又枯燥嘅資料結構題——

White 有一個由 $n$ 個整數組成嘅序列 $a_1, a_2, \dots, a_n$。佢會對呢個序列執行 $q$ 次操作。每次操作係以下三種類型之一:

  • 1 l r v — 將區間 $[l, r]$ 入面嘅每個元素加上 $v$。
  • 2 l r v — 將區間 $[l, r]$ 入面嘅每個元素賦值為 $v$。
  • 3 l r — 查詢 $\sum_{i=l}^r (\min_{j=l}^i a_j) \times (\max_{j=l}^i a_j)$ 對 $2^{64}$ 取模嘅值。

你嘅任務係模擬所有操作並輸出所有查詢嘅結果。

輸入格式

輸入嘅第一行包含兩個整數 $n, q$($1 \le n, q \le 2 \times 10^5$),分別代表元素嘅數量同操作嘅數量。

第二行包含 $n$ 個整數 $a_1, a_2, \cdots, a_n$($0 \le a_i \le 10^9$),代表初始元素。

接落嚟嘅 $q$ 行,每行描述一個操作,格式係以下三種之一:

  • 1 l r v($1 \le l \le r \le n, -10^9 \le v \le 10^9$),代表區間加操作。
  • 2 l r v($1 \le l \le r \le n, 1 \le v \le 10^9$),代表區間賦值操作。
  • 3 l r($1 \le l \le r \le n$),代表查詢操作。

保證喺成個過程入面,對於每個 $1 \le i \le n$,始終滿足 $0 \le a_i \le 10^9$。

輸出格式

對於每次查詢操作,喺單獨一行輸出一個整數——查詢結果對 $2^{64}$ 取模嘅值。

範例

輸入

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

輸出

35
39
40
34
177
120

輸入

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

輸出

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

提示

喺第一組測試資料入面:

原始序列係 2 3 5 4 1。喺第三次操作之後,佢變成 2 3 2 2 1;喺第六次操作之後,佢變成 7 8 7 7 6。

對於第一次查詢,答案係 $\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$。

對於第二次查詢,答案係 $\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.