Codeforces Round 452 (Div. 2) |
---|
Закончено |
На тренировку по программированию пришли n групп студентов. В каждой группе либо один человек, которому не важно, с кем писать контест, либо два человека, которые обязательно хотят писать контест в одной команде.
Тренер решил, что для тренировки соберёт команды ровно из трёх человек. Определите максимальное количество команд из трёх человек, которые смогут написать тренировку. Возможна ситуация, когда не все группы получится распределить в команды. Группы нужно брать целиком, т. е. в группе из двух человек либо оба пишут тренировку, либо оба не пишут. Если тренер берёт на тренировку группу из двух человек, то он обязательно должен определить их в одну команду.
В первой строке следует целое положительно число n (2 ≤ n ≤ 2·105) — количество групп студентов.
Во второй строке следует последовательность целых чисел a1, a2, ..., an (1 ≤ ai ≤ 2), где ai равно количеству человек в i-й группе.
Выведите максимальное количество команд из трёх человек, которые смогут написать контест.
4
1 1 2 1
1
2
2 2
0
7
2 2 2 1 1 1 1
3
3
1 1 1
1
В первом примере тренер сможет набрать одну команду. Для этого он может, например, взять три группы из одного человека: группы с номерами один, два и четыре.
Во втором примере тренеру не удастся набрать ни одной команды.
В третьем примере тренер сможет собрать три команды. Например, он может сделать это так:
Название |
---|