首页 > 试题广场 >

修改序列值

[编程题]修改序列值
维护一个长度为n的正整数序列a[1],a[2]...a[n],支持修改序列中指定位置的值
每次修改后问对序列重复进行以下操作,需要进行几次操作才能使序列变为全0(询问后序列和询问前相同,不会变为全0):
选出序列中最大值的出现位置,若有多个最大值则选位置标号最小的一个,设位置为x,则将a[x-1],a[x],a[x+1]的值减1,如果序列中存在小于0的数,则把对应的数改为0

输入描述:
第一行一个整数n
接下来n行,每行一个整数a[i]
接下来一行一个整数q
接下来q行,每行两个用空格分隔的整数x[i],y[i],表示把a[x[i]]修改为y[i]


输出描述:
q行,每行一个整数表示答案
示例1

输入

4
3
6
6
4
3
4 4
3 5
1 8

输出

10
10
13

备注:
1<=n,q<=100000
1<=x[i]<=n
1<=a[i],y[i]<=1000000000