균형 잡힌 등급
시간 제한1초메모리 제한1024 MB
학생들의 중간고사와 기말고사 점수로 세 등급을 나누되, 상위 등급이 하위 등급보다 두 점수 모두 높도록 합니다. 가장 큰 등급과 가장 작은 등급의 인원 차이를 최소화하는 값을 구합니다.
문제
서울과학고의 자료구조 수업에는 명의 학생이 수강한다. 이 수업에는 중간고사와 기말고사가 있으며, 각 시험의 점수는 이상 이하의 정수이다.
선생님은 학생들의 시험 점수를 바탕으로 학생마다 '상', '중', '하' 중 하나의 등급을 부여하려고 한다. 이때 등급은 다음 두 조건을 만족해야 한다.
- 각 등급은 적어도 한 명의 학생이 받아야 한다.
- 더 높은 등급을 받은 학생은 더 낮은 등급을 받은 학생보다 중간고사와 기말고사 점수가 모두 높아야 한다.
선생님은 불균형도가 최소가 되도록 등급을 매기려고 한다. '상', '중', '하' 등급을 받은 학생 수를 각각 , , 라고 하자. 이때 불균형도는 로 정의된다.
가능한 불균형도의 최솟값을 구하여라.
입력
첫 줄에 학생 수 이 주어진다.
이어서 개의 줄에 걸쳐 번 학생의 중간고사 점수 와 기말고사 점수 가 띄어쓰기를 사이에 두고 주어진다.
출력
가능한 불균형도의 최솟값을 출력한다.
조건에 맞게 등급을 부여하는 것이 불가능하면 -1을 출력한다.
제한
- 입력으로 주어지는 모든 수는 정수이다.
힌트
와 는 각각 , , 중 최댓값과 최솟값을 의미한다.