| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 256 MB | 155 | 82 | 76 | 54.676% |
개구리가 좌표평면 위로 돌아왔다. 이번에는 $(x, y)$ 위에 개구리 $N$마리가 점프할 준비를 하고 있다. 개구리는 한 번 점프할 때마다 인접한 네 칸 중 하나로 이동한다. 예를 들어, 초기에 개구리가 원점 $O(0, 0)$ 위에 있다면, 개구리는 한 번 점프한 뒤 $(0, 1)$, $(0, -1)$, $(1, 0)$, $(-1, 0)$ 중 하나에 위치하게 된다. muse가 잠시 게임을 하던 사이, 개구리들은 제멋대로 점프를 했다. muse는 좌표평면으로 돌아온 뒤, 처음에 자신이 개구리를 어디에 위치해 놓았는지 궁금해졌다.
다행히 muse는 개구리의 이동에 관해 몇 가지 정보를 알아내는 데 성공했다. $i$번째 개구리는 총 $c_i$번의 이동을 했으며, 이동을 모두 마친 현재 $(a_i, b_i)$ 위에 있다는 것이다. 이 정보를 바탕으로, 개구리들이 처음에 어디에 있었는지 알아내는 프로그램을 작성해 보자.
첫 줄에 개구리의 수 $N$이 주어진다. ($1 \le N \le 10^5$)
둘째 줄부터 $N+1$번째 줄까지, $i+1$번째 줄에는 정수 $a_i$, $b_i$, $c_i$가 차례로 주어진다. ($-10^9 \le a_i, b_i \le 10^9$, $0 \le c_i \le 2 \cdot 10^9$)
개구리들의 초기 위치를 $(x, y)$라고 할 때, $x$와 $y$를 공백을 사이에 두고 출력하자.
만약 초기 위치로 가능한 격자점이 없다면 NO를 출력한다.
만약 초기 위치로 가능한 점이 여러 개라면 $x$값이 가장 작은 점을 출력하며, 이러한 점도 여러 개라면 $y$값이 가장 작은 점을 출력한다.
2 3 3 5 0 0 3
-1 2
2 3 3 5 0 0 2
NO
Contest > 폴리매스 코드 챔피언십 > 폴리매스 제1회 코드 챔피언십 E번