[GXPC-S 2024] 演唱会

Luogu
IDLGB4169
Time1000ms
Memory512MB
DifficultyP4
线段树2024广西
有 $n$ 名粉丝在演唱会现场坐成一排,第 $i$ 名粉丝的应援力度为 $a_i$。 聚光灯每次会照射到一个区间 $[l,r]$,传达出的**应援力度**为区间中所有粉丝的应援力度之和乘以区间中最大的应援力度。 为了更好的应援,某个粉丝可能会更改他的应援力度。 请你帮小林算出,每次聚光灯照射过来的时候,传达出的应援力度的值。 ## Input 输入共 $(m+2)$ 行。 第一行包含两个整数 $n,m$,表示粉丝的数量 $n$ 以及操作的数量 $m$。 第二行包含 $n$ 个整数,第 $i$ 个数表示第 $i$ 名粉丝的应援力度 $a_i$。 接下来 $m$ 行,每行三个正整数 $\rm{opt},x,y$。 - 当 $\rm{opt}=1$ 时,表示查询区间 $[x,y]$ 中传达出的应援力度; - 当 $\rm{opt}=2$ 时,表示将第 $x$ 名粉丝的应援力度修改为 $y$。 ## Output 对于每个查询操作,输出一行一个整数,表示对应区间中传达出的应援力度。 [samples] ## Background 小林最近迷上了参加演唱会。 ## Note **本题采用捆绑测试。** - Subtask 1(30pts):保证 $n,m\le 10^3$; - Subtask 2(20pts):保证无修改操作; - Subtask 3(50pts):无额外约束。 对于 $100\%$ 的数据,保证: - $1\le n,m,a_i\le 10^5$; - $\rm{opt}\in \{1,2\}$; - 当 $\rm{opt}=1$ 时,$1\le x\le y\le n$; - 当 $\rm{opt}=2$ 时,$1\le x\le n$,$1\le y\le 10^5$。
Samples
Input #1
5 5
1 2 3 4 5
1 1 3
1 3 5
2 1 4
1 1 3
1 1 5
Output #1
18
60
36
90
API Response (JSON)
{
  "problem": {
    "name": "[GXPC-S 2024] 演唱会",
    "description": {
      "content": "有 $n$ 名粉丝在演唱会现场坐成一排,第 $i$ 名粉丝的应援力度为 $a_i$。 聚光灯每次会照射到一个区间 $[l,r]$,传达出的**应援力度**为区间中所有粉丝的应援力度之和乘以区间中最大的应援力度。 为了更好的应援,某个粉丝可能会更改他的应援力度。 请你帮小林算出,每次聚光灯照射过来的时候,传达出的应援力度的值。",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P4"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB4169"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "有 $n$ 名粉丝在演唱会现场坐成一排,第 $i$ 名粉丝的应援力度为 $a_i$。\n\n聚光灯每次会照射到一个区间 $[l,r]$,传达出的**应援力度**为区间中所有粉丝的应援力度之和乘以区间中最大的应援力度。\n\n为了更好的应援,某个粉丝可能会更改他的应援力度。\n\n请你帮小林算出,每次聚光灯照射过来的时候,传达出的应援力度的值。\n\n## Input\n\n输入共 $(m+2)$ 行。\n\n第一行包含两...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments