숫자 게임

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

요약
매 라운드마다 새 숫자가 추가될 때, A를 오름차순 B를 내림차순으로 짝지어 최대 합을 최소화한 값을 그때마다 출력합니다.
난이도

보통10점 중 5점

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

문제

창영이와 현우는 여러 라운드로 이루어진 숫자 게임을 하고 있습니다. 각 라운드가 시작될 때 현우는 창영이에게 100보다 작은 양의 정수 A와 B를 하나씩 알려 줍니다.

현재까지 나온 모든 A 값과 모든 B 값을 각각 한 번씩 사용해 쌍을 만들어야 합니다. 창영이는 각 쌍의 A+B 값 중 최댓값이 가능한 한 작아지도록 짝을 지어야 합니다.

현재가 N번째 라운드라면 지금까지 받은 수는 a1, a2, ..., aN과 b1, b2, ..., bN입니다. 모든 ai와 모든 bj를 정확히 한 번씩 사용해 N개의 쌍을 만들 때, 쌍의 합 중 가능한 최소의 최댓값을 구하세요.

입력

첫째 줄에 라운드 수 N이 주어집니다. (1 ≤ N ≤ 100000)

다음 N개의 줄에는 각 라운드에서 현우가 말한 두 수 A와 B가 주어집니다. (1 ≤ A, B < 100)

출력

각 라운드가 끝날 때마다, 지금까지 받은 수들로 만들 수 있는 쌍의 합의 최댓값 중 최솟값을 한 줄에 하나씩 출력합니다.

예제2

  1. 예제 1

    입력
    3
    2 8
    3 1
    1 4
    
    예상 출력
    10
    10
    9
    
  2. 예제 2

    입력
    3
    1 1
    2 2
    3 3
    
    예상 출력
    2
    3
    4