#ZK1034. 校长小明

校长小明

题目描述

小明在一条笔直的街道上管理着许多班级,每个班级位于编号为 1n1 \sim n 的教学楼中。初始时,前 nn 个教学楼各有一名学生,第 ii 号教学楼学生的初始成绩为 aia_i。小明需要处理学生的成绩变化和人员变动,计算所有学生的成绩总和。
成绩可能为负数。

操作说明

  1. C x y:第 xx 号教学楼的学生成绩减少 yy(例如,成绩从 80 减少 5 后变为 75)。
  2. I x y:第 xx 号教学楼转入一名成绩为 yy 的学生。如果该教学楼原本已有学生,原学生将转出(即被替换)。
  3. D x:按教学楼编号从小到大的顺序,找到第 xx 个有学生的教学楼,并让该学生转出。
  4. Q:查询当前所有学生的成绩总和。

输入格式

  • 第一行:两个整数 nn(初始有学生的教学楼数量)和 mm(操作次数)。
  • 第二行:nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n,表示初始时前 nn 个教学楼学生的成绩。
  • 接下来 mm 行:每行是上述四种操作之一。

输出格式

对于每个 Q 操作,输出一行整数,表示当前所有学生的成绩总和。

输入输出样例

样例输入 1

5 10  
1 2 3 4 5  
Q  
C 3 2  
Q  
I 6 6  
Q  
D 4  
Q  
C 5 2  
I 7 9  
Q  

样例输出 1

15  
13  
19  
15  
22  

样例解释

  • 初始时,1~5 号教学楼学生的成绩为 [1, 2, 3, 4, 5],总和为 1+2+3+4+5=151+2+3+4+5=15
  • 执行 C 3 2 后,3 号教学楼成绩变为 32=13-2=1,总和为 1+2+1+4+5=131+2+1+4+5=13
  • 执行 I 6 6 后,6 号教学楼新增学生(成绩 6),总和变为 13+6=1913+6=19
  • 执行 D 4 时,当前有学生的教学楼按顺序为 1、2、3、4、5、6,第 4 个是 4 号教学楼,删除后总和为 1+2+1+5+6=151+2+1+5+6=15
  • 后续操作依次调整成绩和新增学生,最终总和为 2222

说明/提示

  • 数据范围
    • 对于 30% 的数据,1n,m101 \leq n, m \leq 10
    • 对于 70% 的数据,1n,m10001 \leq n, m \leq 1000
    • 对于 100% 的数据,1n,m1000001 \leq n, m \leq 100000ai,y109|a_i|, |y| \leq 10^9