CF899A Splitting in Teams

题目描述

有 $n$ 个学生小组前来参加训练赛。小组分为两种:一种是只有一个人的小组,他可以和任何人组队;另一种是有两个人的小组,他们想一起参加比赛,必须在同一个队伍中。 教练决定组成每队恰好三人的训练队。请你计算他最多可以组成多少支三人小队。注意,可能无法用完所有小组来组成队伍。对于两人小组,要么两人全都参加,要么两人都不参加,并且如果选中了该小组,两人必须在同一队。

输入格式

第一行包含一个整数 $n$($2 \leq n \leq 2 \cdot 10^5$),表示小组数量。 第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 2$),其中 $a_i$ 表示第 $i$ 个小组的人数。

输出格式

输出教练能组成的三人小队的最大数量。

说明/提示

在第一个样例中,教练可以组成一支队伍。例如,可以从第 1、2、4 个小组各选一人组队。 在第二个样例中,无法组成任何队伍。 在第 3 个样例中,教练可以组成 3 支队伍。例如,可以按如下方式分组: - 第一个两人小组和第七个一人小组, - 第二个两人小组和第六个一人小组, - 第三个两人小组和第四个一人小组。 由 ChatGPT 5 翻译