# 加速度订单:用整数表示半个单位 出题人解法:直接计算 $d=|at^2|/2$ . Codex(GPT-6):使用等价的整数表示,补齐范围证明和输出边界;计算公式并未改变。 ## 算法与正确性 令 $z=|a|t^2$ . 先用 64 位整数算出 $z$ ,输出整数商 $z/2$ ,再根据奇偶性输出 `.0` 或 `.5` . 因为 $t^2\ge0$ ,有 $|at^2|=|a|t^2=z$ . 偶数 $z$ 除以二没有小数部分,奇数 $z$ 除以二的小数部分恰为 $0.5$ ,所以所输出的一位小数就是公式的精确结果。$a=0$ 或 $t=0$ 时输出 `0.0` ,不会出现负零。 ## 数值范围 由 $|a|,|t|\le10^4$ ,得到 $0\le z\le10^{12}$ ,最大答案为 $5\cdot10^{11}$ . 32 位整数不足,乘法从一开始就须用 64 位类型。程序把输入也读入 `long long` ,避免先做 32 位乘法再赋给较大类型。 出题人的浮点实现也适用于本题:所需整数乘积不超过 $10^{12}<2^{53}$ ,在通常的 IEEE 754 binary64 环境下可以精确表示;除以二仍然精确。整数版把同一公式的结果拆成整数部分与半单位。 ## 复杂度与验证 每组 $O(1)$ 时间、$O(1)$ 额外空间;含读入的总时间为 $O(T+1)$ . 空批次没有输出。 程序见 [std.cpp](std.cpp)。检查了直接浮点、先判断奇偶及整数缩放等表示方式;它们均为同一公式的常数时间计算,没有需要独立列出的更优算法。数据包含正负参数、零、奇数乘积、最大绝对值和空批次,见 [plan.json](tests/plan.json)。参考时限和实测见[评测说明](../../../docs/评测环境与性能.md)。