Lập nhóm
Submit solution
Points:
1
Time limit:
1.0s
Memory limit:
98M
Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Có \(n\) các lập trình viên mà bạn muốn chia thành nhiều nhóm. Kỹ năng của lập trình viên thứ \(i\) là \(a_i\) . Bạn muốn tập hợp số lượng nhóm tối đa từ họ. Có một hạn chế đối với mỗi nhóm: số lượng lập trình viên trong nhóm nhân với kỹ năng tối thiểu giữa tất cả các lập trình viên trong nhóm ít nhất phải là \(x\).
Mỗi lập trình viên nên thuộc về nhiều nhất một nhóm. Một số lập trình viên có thể bị bỏ lại mà không có một nhóm nào.
Tính toán số lượng đội tối đa mà bạn có thể tập hợp.
Input
- Chứa hai số nguyên \(n\) và \(x\) \(( 1 \le n \le 10^5 )\) , \(( 1 \le x \le 10^9 )\) - số lượng lập trình viên và mức kỹ năng tối thiểu của nhóm .
- Dòng thứ hai chứa \(n\) số nguyên \(a_1,a_2,…,a_n\) \((1 \le a_i\le 10^9)\).
Output
- số lượng đội tối đa mà bạn có thể tập hợp.
Example
Input 1
5 10
7 11 2 9 5
Output 1
2
Input 2
4 8
2 4 2 3
Output 2
1
Giải thích:
Đối với trường hợp đầu tiên:
- Nhóm 1: Có 1 thành viên với kỹ năng là \(11\) ( Thoả mãn số lượng thành viên của nhóm nhân với số kỹ năng tối thiểu của thành viên trong nhóm nhỏ lớn hơn \(10 \))
- Nhóm 2: Có 2 thành viên với kỹ năng là \(7\) và \(9\) \(( 2.7 = 14 >= 10)\)
Comments