CF1121B Mike and Children

题目描述

Mike 决定在一所小学教孩子们编程。他知道让这个年龄段的孩子对编程感兴趣并不容易。因此,他决定给每个孩子两颗糖果。 Mike 有 $n$ 颗糖果,大小分别为 $a_1, a_2, \ldots, a_n$。所有糖果的大小都不相同。也就是说,不存在一对 $ (i, j) $($1 \leq i, j \leq n$,且 $i \ne j$)使得 $a_i = a_j$。 由于 Mike 有多年的教学经验,他知道如果他把大小为 $a_i$ 和 $a_j$ 的两颗糖果分给一个孩子,把大小为 $a_k$ 和 $a_p$ 的两颗糖果分给另一个孩子,且 $ (a_i + a_j) \neq (a_k + a_p) $,那么拿到较小总和的孩子会不高兴。也就是说,如果有两个孩子拿到的糖果总和不同,那么其中一个孩子会不高兴。显然,Mike 不希望有人不高兴。 Mike 想邀请尽可能多的孩子,每人分两颗糖果。显然,每颗糖果只能分给一个孩子,不能重复分配。他的目标是邀请最多的孩子,并且保证没有孩子会不高兴。 由于 Mike 正忙于准备他在小学的第一堂课,他请求你帮他计算,最多能邀请多少个孩子,每人分两颗糖果且没有孩子会不高兴。

输入格式

第一行包含一个整数 $n$($2 \leq n \leq 1000$),表示 Mike 拥有的糖果数量。 第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 10^5$),表示每颗糖果的大小。保证所有整数互不相同。

输出格式

输出一个整数,表示 Mike 最多能邀请多少个孩子,每人分两颗糖果且没有孩子会不高兴。

说明/提示

在第一个样例中,Mike 可以给一个孩子 $9+2=11$,给另一个孩子 $8+3=11$,再给第三个孩子 $7+4=11$。因此,Mike 最多可以邀请三位孩子。当然,这不是唯一的方案。 在第二个样例中,Mike 可以给一个孩子 $3+9=12$,给另一个孩子 $1+11=12$。因此,Mike 最多可以邀请两位孩子。当然,这不是唯一的方案。 由 ChatGPT 4.1 翻译