CF1102A.Integer Sequence Dividing

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Integer Sequence Dividing

题目描述

给定一个整数序列 1,2,,n1, 2, \dots, n。你需要将其划分为两个集合 AABB,使得每个元素恰好属于一个集合,并且 sum(A)sum(B)|sum(A) - sum(B)| 的值尽可能小。

其中 x|x| 表示 xx 的绝对值,sum(S)sum(S) 表示集合 SS 中所有元素的和。

输入格式

输入的第一行包含一个整数 nn1n21091 \le n \le 2 \cdot 10^9)。

输出格式

输出一个整数——将初始序列 1,2,,n1, 2, \dots, n 划分为两个集合 AABB 后,sum(A)sum(B)|sum(A) - sum(B)| 的最小可能值。

说明/提示

以下是部分样例的可能答案:

在第一个样例中,你可以将初始序列划分为 A={1,2}A = \{1, 2\}B={3}B = \{3\},此时答案为 00

在第二个样例中,你可以将初始序列划分为 A={1,3,4}A = \{1, 3, 4\}B={2,5}B = \{2, 5\},此时答案为 11

在第三个样例中,你可以将初始序列划分为 A={1,4,5}A = \{1, 4, 5\}B={2,3,6}B = \{2, 3, 6\},此时答案为 11

由 ChatGPT 4.1 翻译

样例

3
0
5
1
6
1

在线编程 IDE

建议全屏模式获得最佳体验