P12880 [蓝桥杯 2025 国 C] 数字配对
题目描述
小蓝有一个长度为 $n$ 的正整数数组 $A = [a_1, a_2, \cdots, a_n]$,每当他从中拿出一对数 $(a_i, a_j)$,其中 $i < j$,他会得到它们的差 $b = a_j - a_i$。然而,他特别喜欢整数 $1$,所以他想知道在数组 $A$ 中最多同时能取出多少对正整数 $(a_i, a_j)$,每个数最多被取一次,使得它们的差为 $1$。
输入格式
输入的第一行包含一个正整数 $n$。
第二行包含 $n$ 个正整数 $a_1, a_2, \cdots, a_n$,相邻整数之间使用一个空格分隔。
输出格式
输出一行包含一个整数表示答案。
说明/提示
**【样例说明】**
其中一种方案:$(a_1, a_3), (a_4, a_6)$。
提示:$(a_1, a_2)$ 的差为 $a_2 - a_1 = -1$,不是小蓝喜欢的。
**【评测用例规模与约定】**
对于 $40\%$ 的评测用例,$1 \leq n \leq 10^3$,$1 \leq a_i \leq 10^3$;
对于所有评测用例,$1 \leq n \leq 10^6$,$1 \leq a_i \leq 10^6$。