༺ཌༀ 吃菠萝的狼 ༀད༻ 2024-07-30 16:06 采纳率: 63.2%
浏览 7
已结题

T307716 东之国的不眠之夜

东之国的不眠之夜

题目背景

第十五届东方人气投票 音乐部门 65名

第四次国内不知道东方的人对东方原曲的投票调查 63名

题目描述

射命丸文为了调查自己的角色曲的大众接受度,决定一有时间就去人间之里进行调查。

她会用一首bgm来询问$n$位居民,每位居民都自然会对这首bgm评一个好感度$a_i$。当然因为时代的变迁导致居民喜好发生变化,或者因为听的时候心情不一样,这个好感度是时时刻刻会变动的。射命丸文决定用以下两种方式来记录这$m$次变动。

  • 1 x y z 表示序列中,将好感度范围在$[a_x,a_y]$中的所有好感度修改为$z$。注意若$a_x>a_y$,则是将将好感度范围在$[a_y,a_x]$中的所有好感度修改为$z$。若$a_x$与$a_y$相等则不用做任何操作。

  • 2 x z 表示将整个序列中所有的$a_x$这个好感度增加$z$

  • 3 x y 表示求出序列中,求出好感度在$[a_x,a_y]$中所有数字的平均值,向下取整。若$a_x>a_y$,则是求出好感度在$[a_y,a_x]$中所有数字的平均值。若$a_x$与$a_y$相等,输出$0$

她希望你能写一个尽可能快的程序,让河童的计算机快速将其算出答案。

说明:

各位同学可能没有相关知识。我们定义一个数字$x$在范围$[a,b]$(其中$a<b$),则意思是$a \leq x \leq b$,注意是小于等于符号而并非小于符号。例如:$3$在$[3,5]$范围内,$4$在$[3,5]$范围内而$9$不在$[3,5]$范围内。

输入格式

第一行输入两个数字$n$和$m$,意思如题所示。

第二行输入$n$个数字,从$a_1$一直到$a_n$,表示好感度。

第三行开始,一共$m$行,每一行可能会输入$3$或者$4$个数字。

如果第一个数字是$1$,后面就再输入$3$个数字$x,y,z$,表示将$[a_x,a_y]$中的所有好感度修改为$z$。

如果第一个数字是$2$,后面就再输入$2$个数字$x,z$,表示将$a_x$这个好感度增加$z$

如果第一个数字是$3$,后面就再输入$2$个数字$x,y$,表示求出$[a_x,a_y]$中所有数字的平均值,向下取整。

输出格式

对于每个第一个数字是$3$的操作,输出一行,表示这个向下取整的平均值

样例 #1

样例输入 #1

5 6
3 5 8 1 2
1 2 3 5
3 1 4
2 3 5
3 3 5
1 1 4 9
3 2 3

样例输出 #1

2
6
0

提示

样例解释:

经过第一次操作后,数列变为3 5 5 1 2

经过第二次操作后,数列还是3 5 5 1 2

经过第三次操作后,数列变为3 10 10 1 2

经过第四次操作后,数列还是3 10 10 1 2

经过第五次操作后,数列变为9 10 10 9 9

经过第六次操作后,数列还是9 10 10 9 9

数据规模如下表。

特殊性质$1$若为√,则表示没有开头为$1$的询问,对于特殊性质$2$,$3$同理。

数据约定,一开始输入的$a_i \leq 10^9$,所有的$z \leq 10^9$

数据保证,$1 \leq x,y \leq n$

#include<bits/stdc++.h>//万能头
using namespace std;//命名空间
int main(){//主函数
    return 0;//返回值
}

```

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 8月7日
    • 创建了问题 7月30日