아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

클링온어 반 편성

면접 대비

시간 제한1초메모리 제한128 MB

요약
점수 기준값 T를 정해 각 부서를 기초와 심화로 나눌 때, 부서별 인원 차이의 절댓값 합이 최소가 되는 값을 구한다.
난이도

보통10점 중 5점

유형
정렬, 누적 합, 배열, 구현
정답자
아직 제출이 없습니다

문제

라틴 아메리카의 한 고등학교에서 클링온어가 큰 인기를 끌면서, 많은 학생이 스스로 이 인공어를 공부하기 시작했다. 이를 알게 된 학교는 정식 클링온어 수업을 개설하기로 했다. 학생마다 이미 알고 있는 수준이 제각각이므로, 수업은 기초반과 심화반 두 단계로 나누어 운영한다.

학교는 여러 개의 분반(division)으로 구성되어 있으며, 모든 학생은 정확히 하나의 분반에 속한다. 시간표 문제로 서로 다른 분반의 학생은 같은 클링온어 수업을 들을 수 없다. 또한 공정성을 위해, 모든 분반에 대해 기초반과 심화반을 같은 난이도로 제공해야 한다.

따라서 각 분반은 두 그룹으로 나뉜다. 한 그룹은 기초반 수업을, 다른 그룹은 심화반 수업을 듣는다. 어떤 분반은 두 단계 중 한쪽에 학생이 한 명도 없을 수도 있다.

모든 학생은 이미 클링온어 배치 시험을 보았고, 00 이상 10001000 이하의 정수 점수를 받았다. 학교는 하나의 기준값 TT를 정한다. 점수가 TT 이상인 학생은 모두 심화반에, 점수가 TT 미만인 학생은 모두 기초반에 배정된다.

학교는 분반들을 최대한 고르게 나누는 TT를 원한다. TT가 정해지면 각 분반은 그 분반의 기초반 학생 수와 심화반 학생 수의 차이(절댓값)를 기여한다. 이 값들을 모든 분반에 대해 더한 것을 누적 차이라고 한다.

예를 들어 학교에 두 분반이 있다고 하자. 첫 번째 분반에는 기초반 1010명, 심화반 2020명이 있고, 두 번째 분반에는 기초반 1717명, 심화반 1515명이 있다. 그러면 누적 차이는 ∣10−20∣+∣17−15∣=12|10 - 20| + |17 - 15| = 12이다.

누적 차이가 최소가 되도록 TT를 선택하라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다.

각 테스트 케이스의 첫 줄에는 학교의 분반 수를 나타내는 정수 NN (1≤N≤1041 \le N \le 10^4)이 주어진다. 이어서 2N2N개의 줄이 주어지며, 두 줄씩 한 분반을 설명한다. 분반 ii에 대해, 두 줄 중 첫 줄에는 그 분반의 학생 수를 나타내는 정수 KiK_i (1≤Ki≤1041 \le K_i \le 10^4)가, 둘째 줄에는 그 학생들의 점수인 00 이상 10001000 이하의 정수 KiK_i개가 공백 하나로 구분되어 주어진다. 한 테스트 케이스 안의 학생 수 총합(모든 KiK_i의 합)은 10510^5을 넘지 않는다.

마지막 테스트 케이스 다음에는 00 하나만 있는 줄이 주어진다.

출력

각 테스트 케이스마다, TT를 최적으로 선택했을 때 가능한 최소 누적 차이를 정수 하나로 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    2
    2
    1 2
    2
    3 4
    2
    2
    1 4
    2
    2 3
    3
    4
    1 10 100 1000
    3
    5 55 555
    5
    4 16 64 256 1000
    1
    4
    500 500 500 500
    0
    
    예상 출력
    2
    0
    2
    4