만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

개구리 2

면접 대비

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

요약
개구리가 격자에서 c번 이동해 (a,b)에 도착했을 때, 가능한 시작 격자점을 찾고, 없으면 NO를, 여러 개면 x와 y가 가장 작은 점을 출력한다.
난이도

보통10점 중 4점

유형
수학, 구현, 완전 탐색, 배열
정답자
아직 제출이 없습니다

문제

개구리가 좌표평면으로 돌아왔다. 이번에는 (x,y)(x, y) 위에 개구리 NN마리가 점프할 준비를 하고 있다. 개구리는 한 번 점프할 때마다 인접한 네 칸 중 하나로 이동한다. 예를 들어 초기에 개구리가 원점 O(0,0)O(0, 0) 위에 있다면, 개구리는 한 번 점프한 뒤 (0,1)(0, 1), (0,−1)(0, -1), (1,0)(1, 0), (−1,0)(-1, 0) 중 하나에 위치한다. muse가 잠시 게임을 하던 사이 개구리들은 제멋대로 점프했다. muse는 좌표평면으로 돌아온 뒤 처음에 자신이 개구리를 어디에 놓았는지 궁금해졌다.

다행히 muse는 개구리의 이동에 관한 정보를 몇 가지 알아내는 데 성공했다. ii번째 개구리는 총 cic_i번 이동했고, 이동을 모두 마친 현재 (ai,bi)(a_i, b_i) 위에 있다. 이 정보를 바탕으로 개구리들이 처음에 어디에 있었는지 알아내는 프로그램을 작성해 보자.

입력

첫 줄에 개구리의 수 NN이 주어진다. (1≤N≤1051 \le N \le 10^5)

둘째 줄부터 N+1N+1번째 줄까지, i+1i+1번째 줄에는 정수 aia_i, bib_i, cic_i가 차례로 주어진다. (−109≤ai,bi≤109-10^9 \le a_i, b_i \le 10^9, 0≤ci≤2⋅1090 \le c_i \le 2 \cdot 10^9)

출력

개구리들의 초기 위치를 (x,y)(x, y)라고 할 때, xx와 yy를 공백을 사이에 두고 출력한다.

초기 위치로 가능한 격자점이 없으면 NO를 출력한다.

초기 위치로 가능한 점이 여러 개라면 xx값이 가장 작은 점을 출력하고, 이러한 점도 여러 개라면 yy값이 가장 작은 점을 출력한다.

예제2

  1. 예제 1

    입력
    2
    3 3 5
    0 0 3
    
    예상 출력
    -1 2
    
  2. 예제 2

    입력
    2
    3 3 5
    0 0 2
    
    예상 출력
    NO