#248. 完成所有任务需要的最少轮数

完成所有任务需要的最少轮数

说明

给你一个下标从 0 开始的整数数组 tasks ,其中 tasks[i] 表示任务的难度级别。在每一轮中,你可以完成 2 个或者 3 个 相同难度级别 的任务。

返回完成所有任务需要的 最少 轮数,如果无法完成所有任务,返回 -1 。
如:
输入
10
2 2 3 3 2 4 4 4 4 4

输出
4

输入格式

第一行数字n,表示数组的个数。
第二行n个数,表示难度级别。

输出格式

一行一个数最少轮数

样例

3
2 3 3
-1

提示

1 <= tasks.length <= 10^5
1 <= tasks[i] <= 10^9

相关

在以下作业中:

函数