Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 200 点
問題文
あなたはプログラミングコンテストを開催するため問題を N 問作成しました。 このうち i 問目をコンテストに出題する場合、配点は P_i 点となります。
これらの問題を使って、以下の条件を満たすコンテストをできるだけ多く開催したいと思います。 異なるコンテストの間で問題の重複があってはいけません。 最大で何回のコンテストを開催できますか。
- 問題が 3 問出題され、1 問目の配点は A 点以下、2 問目の配点は A + 1 点以上 B 点以下、3 問目の配点は B + 1 点以上である。
制約
- 3 \leq N \leq 100
- 1 \leq P_i \leq 20 (1 \leq i \leq N)
- 1 \leq A < B < 20
- 入力値はすべて整数である。
入力
入力は以下の形式で標準入力から与えられる。
N A B P_1 P_2 ... P_N
出力
答えを出力せよ。
入力例 1
7 5 15 1 10 16 2 7 20 12
出力例 1
2
1, 2, 3 問目の問題、4, 5, 6 問目の問題をそれぞれ組み合わせることで 2 回のコンテストを開催できます。
入力例 2
8 3 8 5 5 5 10 10 10 15 20
出力例 2
0
A = 3 点以下の問題が存在しないので、コンテストを開催できません。
入力例 3
3 5 6 5 6 10
出力例 3
1
Score : 200 points
Problem Statement
You have written N problems to hold programming contests. The i-th problem will have a score of P_i points if used in a contest.
With these problems, you would like to hold as many contests as possible under the following condition:
- A contest has three problems. The first problem has a score not greater than A points, the second has a score between A + 1 and B points (inclusive), and the third has a score not less than B + 1 points.
The same problem should not be used in multiple contests. At most how many contests can be held?
Constraints
- 3 \leq N \leq 100
- 1 \leq P_i \leq 20 (1 \leq i \leq N)
- 1 \leq A < B < 20
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
N A B P_1 P_2 ... P_N
Output
Print the answer.
Sample Input 1
7 5 15 1 10 16 2 7 20 12
Sample Output 1
2
Two contests can be held by putting the first, second, third problems and the fourth, fifth, sixth problems together.
Sample Input 2
8 3 8 5 5 5 10 10 10 15 20
Sample Output 2
0
No contest can be held, because there is no problem with a score of A = 3 or less.
Sample Input 3
3 5 6 5 6 10
Sample Output 3
1