题目背景
闻是白极影,见时方立竿。
题目描述
白极影化为立竿之人莅临人间,带来了星之函数 f(x),它的值为最接近于 4x 的整数(即 f(x)=⌊4x+21⌋;⌊u⌋ 为对 u 向下取整后的值)。
现有 t 个数字 n,对于每个 n,立竿人想知道 i=1∑nf(i)1 的值是多少,请你告诉它吧。
因为立竿人很急,所以本题的 t 组询问强制在线,后一个询问需通过前一个询问的答案生成。
可用以下 C++
代码生成(其他语言同理;需包含 <stdio.h>
):
该函数第一个参数为上一次询问的答案(第一次询问时该值为 0,也就是说第一个数未经加密),第二个参数为这一次读入的被加密的数,函数返回解密后的 n。
输入格式
第一行一个整数 t,表示数据组数(询问次数)。
对于每组数据,仅一行一个整数表示加密后的 n(第一个 n 未被加密)。
输出格式
每行输出一个六位小数,表示答案。
提示
样例解释
样例#1 解密后各组询问分别是:
$$\def{\r}{\cr\hline}
\def\arraystretch{1.5}\begin{array}{|c|c|c|c|c|c|c|c|}\hline
\textbf{t}&1&2&3&4&5&6&7\r
\textbf{n}&1&4&8&89&2022&1145141919810&1\r
\end{array}
$$
数据范围
本题采用捆绑测试。
Subtask12345t=10100010010005×105n≤10610610910181018Score213154030对于 100% 的数据,10≤t≤5×105,1≤n≤1018。
计分规则
本题采用 Special Judge,令你输出的答案为 pans,标答答案为 jans,如果 ∣pans−jans∣<jans×10−5 那么该组数据通过,在一个测试点内只有所有 t 组数据通过该测试点才算通过。
注意后一个 Subtask 对前一个 Subtask 有依赖关系,即如果你没有在前一个 Subtask 拿到分,那么你即使通过后一个 Subtask 的所有测试点,你也无法拿到后面的分数。