生活费
难度:
时间限制:1s
内存限制:256M
【题目描述】
有
𝑛
n 名大学生,编号为
1
∼
𝑛
1∼n,初始时每个学生的生活费为
𝑝
1
,
𝑝
2
,
…
,
𝑝
𝑛
p
1
,p
2
,…,p
n
,即编号为
𝑖
i 的学生的生活费为
𝑝
𝑖
p
i
。生活费可能会有两种变化:
①来源个人,由某个学生的经济活动而产生。在某个时刻,某个学生的生活费会直接变成某一个数值,可能升高也可能降低。
②来源学校,在某个时刻,学校会对生活费低于某个标准线的全部学生,实施政策支持,使得他们的生活费全部正好到达标准线。
经过一段时间之后,上述变化发生了
𝑚
m 次。现在请你计算每个学生最后拥有多少生活费。
【输入格式】
第一行两个整数
𝑛
,
𝑚
n,m;
第二行
𝑛
n 个整数
𝑝
1
,
𝑝
2
,
…
,
𝑝
𝑛
p
1
,p
2
,…,p
n
;
接下来
𝑚
m 行,每行依次表示一次生活费的变化情况:
以字符
𝐼
I 开头的表示一次因为个人引起的变化,后接两个整数
𝑖
𝑑
id 和
𝑣
v,
𝑖
𝑑
id 表示生活费发生变化的学生编号,
𝑣
v 表示生活费变化的结果;
以字符
𝑆
S 开头的表示一次因为学校引起的变化,后接一个整数
𝑎
a,
𝑎
a 表示学校的标准线;
注意:保证按照时间先后顺序给出所有变化情况,即第
𝑖
i 次变化一定发生在第
𝑖
+
1
i+1 变化之前。
【输出格式】
共
𝑛
n 行,第
𝑖
i 行一个整数,表示编号为
𝑖
i 的学生最后拥有的生活费。
【输入输出样例#1】
输入#1
4 3
10 20 30 40
S 35
I 1 20
S 25
复制
输出#1
25
35
35
40
复制
【输入输出样例#2】
输入#2
3 5
36 47 44
I 3 61
S 1
S 34
I 3 45
S 21
复制
输出#2
36
47
45
复制
【输入输出样例#3】
输入#3
6 9
34 20 29 41 36 49
S 13
I 5 19
S 9
I 1 35
S 39
S 13
S 19
I 3 41
I 5 51
复制
输出#3
39
39
41
41
51
49
复制
【数据范围】
对于
40
%
40% 的数据:
1
≤
𝑛
,
𝑚
≤
1000
1≤n,m≤1000;
对于
100
%
100% 的数据:
1
≤
𝑛
,
𝑚
≤
1
0
5
1≤n,m≤10
5
,
1
≤
𝑝
𝑖
,
𝑣
,
𝑎
≤
1
0
5
1≤p
i
,v,a≤10
5
,
1
≤
𝑖
𝑑
≤
𝑛
1≤id≤n。 c++