신입생 현우는 알고리즘 공부가 정말 재밌다. 이번에는 스터디 그룹을 만들어 더 열심히 공부해 보려고 한다.
사공이 많으면 배가 산으로 가는 법이라, 그룹에 참여하는 학생이 너무 많으면 공부가 지지부진해질까 걱정한 현우는 다음 조건을 내걸었다.
그룹에서 가장 잘하는 학생과 가장 못하는 학생의 실력 차이가 D 이하여야 한다.
또 그룹의 효율성 E를 이렇게 정의했다. 그룹원 중 한 명이라도 아는 알고리즘의 수를 U, 그룹원 모두가 아는 알고리즘의 수를 I, 그룹원의 수를 S라고 하면
E=(U−I)×S
이다.
현우는 두 조건을 확인하려고 모든 학생의 실력을 수치로 매기고, 중요한 알고리즘 K개에 대해 각 학생이 어떤 알고리즘을 아는지 모두 조사했다. 조건을 만족하는 학생의 부분집합 중 효율성이 가장 큰 것을 스터디 그룹으로 삼으려 한다.
현우가 만들 스터디 그룹의 효율성은 얼마인가?