CF1942F Farmer John's Favorite Function

题目描述

[ΩΩPARTS - Camellia](https://soundcloud.com/user-838515264/camellia-parts-ooparts) ⠀ Farmer John 有一个长度为 $n$ 的数组 $a$。他还有一个函数 $f$,其递推关系如下: - $f(1) = \sqrt{a_1}$; - 对于所有 $i > 1$,$f(i) = \sqrt{f(i-1) + a_i}$。 注意 $f(i)$ 不一定是整数。 他计划对数组进行 $q$ 次更新。每次更新,他会给你两个整数 $k$ 和 $x$,并希望你将 $a_k$ 设为 $x$。每次更新后,他想知道 $\lfloor f(n) \rfloor$ 的值,其中 $\lfloor t \rfloor$ 表示将 $t$ 向下取整到最近的整数。

输入格式

第一行包含两个整数 $n$ 和 $q$($1 \leq n, q \leq 2 \cdot 10^5$),分别表示数组 $a$ 的长度和要进行的更新次数。 第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \leq a_i \leq 10^{18}$)。 接下来的 $q$ 行,每行包含两个整数 $k$ 和 $x$($1 \leq k \leq n$,$0 \leq x \leq 10^{18}$),表示要将 $a_k$ 替换为 $x$。

输出格式

对于每次更新,输出一个整数 $\lfloor f(n) \rfloor$,每行一个。

说明/提示

在第一个测试用例中,第一次更新后数组变为 $[4, 14, 0, 7, 6]$。$f$ 的值为: - $f(1)=2$; - $f(2)=4$; - $f(3)=2$; - $f(4)=3$; - $f(5)=3$。 由于 $\lfloor f(5) \rfloor = 3$,所以输出 $3$。 第二次更新后数组变为 $[3, 14, 0, 7, 6]$。$f$ 的值(保留 $6$ 位小数)为: - $f(1)\approx 1.732051$; - $f(2)\approx 3.966365$; - $f(3)\approx 1.991573$; - $f(4)\approx 2.998595$; - $f(5)\approx 2.999766$。 由于 $\lfloor f(5) \rfloor = 2$,所以输出 $2$。 由 ChatGPT 4.1 翻译