코딩 테스트
시간 제한2.5초메모리 제한1024 MB
난이도가 애매한 문제를 두 단계 중 하나로 배정할 수 있을 때, 각 기업 구간마다 난이도별로 문제 하나씩 담은 세트의 최대 개수를 구한다.
문제
요즘 코딩 테스트의 인기가 높아지면서, 회사는 코딩 테스트용 문제를 만들어 IT 기업에 판매하고 있다.
회사는 편의를 위해 문제의 난이도를 단계부터 단계까지 나누었다. 현재 회사에는 난이도가 단계로 평가된 문제가 개 준비되어 있다. 또한 난이도 평가가 애매해서 단계 혹은 단계로 평가된 문제도 개 준비되어 있다. 이외의 방식으로 난이도가 평가된 문제는 없다.
회사는 지금 문제를 판매할 기업을 찾고 있다. 현재 구매 의향을 나타낸 기업은 총 곳이며, 부터 까지 번호가 붙어 있다. ()번 기업은 회사의 문제 중 난이도가 단계 이상이고 단계 이하인 문제에만 관심이 있다.
회사는 번 기업에게 문제를 판매할 때, 단계부터 단계까지의 문제를 난이도별로 하나씩 뽑아 묶음으로 판매하려고 한다. 이 묶음을 세트라고 하자.
번 기업에게만 문제를 판매한다면, 최대 몇 개의 세트를 판매할 수 있을까?
난이도가 단계 혹은 단계로 평가된 문제는 두 난이도 중 하나로 적절히 설정해서, 판매하는 세트 개수가 최대한 많아지도록 해야 한다. 또한 판매하는 모든 세트에 걸쳐 같은 문제가 두 번 이상 들어가지 않도록 해야 한다.
제한
- 모든 에 대해
- 모든 에 대해
- 모든 에 대해