SP17731 BUYINT - Buying Integers

题目描述

**购买整数** 假设你有 **n** 个整数,记作 $A_1, A_2, A_3, \ldots, A_n$。定义如下: - **E**:满足 $i < j$ 且 $A_i + A_j$ 为偶数的数对 $(i, j)$ 的数量。 - **O**:满足 $i < j$ 且 $A_i + A_j$ 为奇数的数对 $(i, j)$ 的数量。 - **D**:$|E - O|$ 也就是说,如果 $E - O \geq 0$,那么 $D = E - O$;否则,$D = -(E - O)$。 不幸的是,尽管你知道 **n** 的值,这 **n** 个整数却已经丢失。你需要重新购买它们。在去市场之前,你决定购买 **n** 个整数,使得 **D** 的值尽可能小,因为每个单位的 **D** 值都会让你多花一枚金币。 现在,你想知道最小的 **D** 值(记作 $D_{\text{min}}$)是多少。

输入格式

输入的第一行为测试用例的数量 **T**。接下来的 **T** 行中,每一行包含一个整数 **n**,满足 $1 \leq n \leq 10^9$。

输出格式

对于每个测试用例,输出从 1 开始的测试用例编号以及对应的最小 **D** 值。格式请参照样例输出。 ## 样例输入 ``` 3 3 4 5 ``` ## 样例输出 ``` Case 1: 1 Case 2: 0 Case 3: 2 ``` **提示**:由于输入文件非常大,请使用高效的输入输出方法(例如 C++ 中的 `printf` 和 `scanf`)。 题目提供者:Momontho Mashak Monmoy 特别感谢:Muhammad Ridowan **本翻译由 AI 自动生成**