AT_past202309_l 平均クエリ

题目描述

给定一个长度为 $N$ 的正整数序列 $A=(A_1,A_2,\ldots,A_N)$,并有一个初始为空的集合 $S$。 定义 $f(L,R)$ 为:$f(L,R) = \displaystyle\sum_{i=L+1}^R \frac{A_i}{R-L}$,其中 $0\leq L

输入格式

输入通过标准输入给出,格式如下: > $N\ Q$ > $A_1\ A_2\ \ldots\ A_N$ > $query_1$ > $query_2$ > $\vdots$ > $query_Q$ 每个 $query_i$ 以一个数字 $t_i$ $(1\leq t_i\leq 2)$ 开始,表示操作类型。若 $t_i=1$,后跟一个整数 $x$ $(0\leq x\leq N)$;若 $t_i=2$,则无额外内容。因此,每条操作有以下两种格式之一: > $1\ x$ > $2$

输出格式

输出 $k$ 行,其中 $k$ 为类型 $2$ 的操作个数。 对于第 $i$ 个类型 $2$ 操作,输出一行结果:用空格分隔的 $P\ Q$,其中答案为互质正整数 $\frac{P}{Q}$。

说明/提示

### 样例解释 1 $f(L,R)$ 的取值如下: - $f(0,1)=\frac{2}{1}=\frac{2}{1}$ - $f(0,2)=\frac{2+3}{2}=\frac{5}{2}$ - $f(0,3)=\frac{2+3+5}{3}=\frac{10}{3}$ - $f(1,2)=\frac{3}{1}=\frac{3}{1}$ - $f(1,3)=\frac{3+5}{2}=\frac{8}{2}$ - $f(2,3)=\frac{5}{1}=\frac{5}{1}$ 操作过程如下: - 第 1 次操作为类型 $1$,给出 $x=0$。由于 $0\notin S$,将 $0$ 加入 $S$。 - 第 2 次操作将 $3$ 加入 $S$。 - 第 3 次操作为类型 $2$,此时 $S= \{ 0,3 \}$,唯一的 $(l,r)$ 为 $(0,3)$,$f(0,3)=\frac{10}{3}$,输出 $10\ 3$。 - 第 4 次操作将 $2$ 加入 $S$。 - 第 5 次操作时,$S=\{0,2,3\}$,满足条件的 $(l,r)$ 有 $(0,2)$、$(0,3)$、$(2,3)$,最大 $f(l,r)$ 为 $f(2,3)=\frac{5}{1}$,输出 $5\ 1$。 - 第 6 次操作将 $1$ 加入 $S$。 - 第 7 次操作前 $3\in S$,将 $3$ 从 $S$ 移除。 - 第 8 次操作时,$S=\{ 0,1,2\}$,最大 $f(l,r)$ 为 $f(1,2)=\frac{3}{1}$,输出 $3\ 1$。 ### 样例解释 2 请注意,每次类型 $2$ 操作的 $P$ 和 $Q$ 必须是互质的。例如本测试点不能输出 `2 2`。 ### 数据范围 - $1\leq N\leq 10^5$ - $3\leq Q\leq 3\times 10^5$ - $1\leq A_i\leq 10^9$ - $0\leq x\leq N$ - 所有输入均为整数。 - 至少有一个类型 $2$ 操作。 - 每次类型 $2$ 操作时,保证存在至少一个满足条件的 $(l,r)$。 由 ChatGPT 5 翻译