题面 下发文件
题目描述
给你一个长度为 n 的序列 A 。
∀1≤i<j≤n ,我们称 (i,j) 是合法的,当且仅当:
-
Ai=Aj
-
∀i<k<j,Ak<Ai
定义 A 的权值是这样的合法数对 (i,j) 的个数。
你需要在所有修改前输出 A 的权值。
接下来给定 q ,我们会进行 q 次对 A 的修改。
每次修改给定 x,z ,令 Ax:=z ,你需要在每次修改后输出 A 的权值。
输入格式
输入第一行给定一个整数 n 。
第二行包含 n 个整数,第 i 个整数代表 Ai 。
第三行给定一个整数 q 。
接下来 q 行,每行给定两个整数 x,z ,代表一次修改的信息。
输出格式
输出 q+1 行,每行包含一个整数,其中第一行代表所有修改前的答案;∀1≤i≤q ,第 i+1 行代表第 i 次修改后的答案。
样例 1
样例输入
7
1 1 2 1 1 1 1
10
4 3
5 1
7 2
1 3
6 3
6 1
6 3
1 1
3 1
3 3
样例输出
4
3
3
2
2
2
2
2
2
3
3
样例 2~5
见下发文件。
数据范围
对于所有数据,1≤n≤105,1≤q≤3∗105 。
∀1≤i≤n,1≤Ai≤n 。
每次修改保证 1≤x,z≤n 。
测试点编号 |
n≤ |
q≤ |
特殊性质 |
1∼4 |
2000 |
无 |
5∼8 |
105 |
3∗105 |
A |
9∼12 |
5000 |
无 |
13∼16 |
50000 |
17∼20 |
105 |
3∗105 |
特殊性质 A:∀1≤i≤n,Ai≤5 。每次修改 z≤5 。