창하의 뉴스와미디어 이야기

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

요약
N개의 단어를 네 분반에 같은 개수로 나눠 각 분반 최고 난이도의 최댓값과 최솟값 차이를 최소로 만든다.
난이도

보통10점 중 5점

유형
정렬, 그리디
정답자
아직 제출이 없습니다

문제

창하는 이번 학기에 '뉴스와미디어'라는 영어 과목을 수강하고 있다. '뉴스와미디어'에서는 단어 퀴즈를 보는데, 선생님은 단어장에 있는 NN(NN은 44의 배수)개의 단어를 44개의 분반에 겹치지 않게 N4\cfrac{N}{4}개씩 나누어 출제하려고 한다. ii번째 단어 S_iS\_i는 난이도 D_iD\_i를 가지고 있으며, 분반에는 11부터 44까지의 번호가 붙어있다. 이때 각 분반이 받는 스트레스는 해당 분반이 퀴즈를 보는 단어들의 난이도 중 최댓값으로 정의한다. 선생님은 형평성을 위해 44개 분반의 스트레스 중 최댓값과 최솟값의 차이를 최소화하려고 한다. 이때 선생님이 어떻게 단어를 배정해야 좋을지 알려주자!

입력

첫 번째 줄에 정수 N$$(4 \le N \le 2\times 10^5; NN은 44의 배수))이 주어진다.

다음 NN개의 줄 중 ii번째 줄에 알파벳 소문자로 이루어진, 길이가 11 이상 1010 이하인 단어 S_iS\_i와 난이도를 나타내는 정수 D_iD\_i (1≤D_i≤109)(1 \le D\_i \le 10^9)가 공백으로 구분되어 주어진다. 1≤i<j≤N1\le i < j \le N인 모든 ii, jj에 대해 S_i≠S_jS\_i \ne S\_j가 성립한다.

출력

총 44개의 줄에 걸쳐 ii번째 줄에 정수 ii와 공백 하나를 출력하고 ii번 분반 퀴즈에 배정할 N4\cfrac{N}{4}개의 단어들을 공백으로 구분하여 출력한다. 이때 단어들은 사전순으로 출력한다.

정답이 여러 개 존재한다면 그중 아무거나 출력해도 상관없다.

예제1

  1. 예제 1

    입력
    8
    abate 1
    abstinent 2
    ambience 2
    aptitude 3
    audacity 2
    benign 1
    burlesque 4
    capricious 3
    
    예상 출력
    1 ambience burlesque
    2 abstinent capricious
    3 aptitude benign
    4 abate audacity