选择队伍


Submit solution

Points: 10
Time limit: 1.0s
Memory limit: 4M

Author:
Problem type
Allowed languages
C++

选择队伍

萨拉托夫国立大学奥林匹克编程培训中心(SSU OPTC)有 \(n\) 名学生。对于每位学生,你知道他/她已经参加过 ACM ICPC 世界编程大赛的次数。根据 ACM ICPC 的规则,每人最多可以参加 \(5\) 次世界编程大赛。 SSU OPTC 的负责人正在组建队伍,参加未来的世界编程大赛。每个队伍必须恰好由 \(3\)名学生组成,并且一个学生不能同时属于多个队伍。负责人希望每支队伍的成员在未来都能够参加世界编程大赛至少 \(k\)次。 你的任务是计算,最多可以组建多少支这样的队伍?

输入

第一行包含两个整数 \(n\) 和 \(k\)(\(1 \le n \le 2000, 1 \le k \le5\))。

第二行包含 \(n\) 个整数 \(y_1\),\(y_2\),…,\(y_n\)(\(0 \le yi \le 5\)),其中 \(y_i\) 表示第 \(i\) 个学生已经参加过 ACM ICPC 世界编程大赛的次数。

输出

输出一个整数,表示最多可以组建的队伍数量。

输入 1
5 2
0 4 5 1 0
输出 1
1
输入 2
6 4
0 1 2 3 4 5
输出 2
0
输入 3
6 5
0 0 0 0 0 0
输出 3
2
说明

在第一个示例中,未来还能参加大赛至少 \(2\) 次的学生是第 \(1、4、5\) 个(他们已经参加的次数分别是 \(0、1、0\))。
我们可以组成 \(1\) 支队伍:[1,4,5]。
在第二个示例中,没有学生可以再参加大赛至少 \(4\) 次,因此无法组成队伍。
在第三个示例中,所有学生都还可以参加 \(5\) 次大赛,最多可以组建 \(2\) 支队伍,任意两组分配都符合要求。


Comments

There are no comments at the moment.