#175
Gold V

Lunar Exploration

시간 제한
1s
메모리 제한
1024MB
제출
27
정답
20
맞힌 사람
7
정답 비율
53.8%

문제

때는 2035년, ANA 항공우주국은 달 탐사 프로젝트를 위해서 NN개의 탐사 로봇을 달 표면 곳곳에 배치했다. 탐사 로봇들은 달의 토양과 암석을 성공적으로 채취했고, 이제 회수선을 통해 지구로 복귀해야 한다.

달 표면은 무한한 2차원 좌표 평면이라 생각할 수 있다. xx 좌표가 증가하는 방향이 동쪽, 감소하는 방향이 서쪽, yy 좌표가 증가하는 방향이 북쪽, 감소하는 방향이 남쪽이다.

각 탐사 로봇은 11부터 NN까지 순서대로 번호가 매겨져 있고 i(1≤i≤N)i(1≤i≤N)번째 탐사 로봇은 정수 좌표 (xi,yi)(x_i, y_i)에 배치되어 있다. 탐사 로봇이 놓여있지 않은 달 표면 어딘가에 회수선이 착륙했는데, 특이하게도 길이 NN의 막대 모양이며 xx-좌표축 또는 yy-좌표축에 평행하다. 또한 회수선이 차지하는 각 정수 좌표마다 하나의 탐사 로봇을 보관할 수 있는 좌석이 하나씩, 총 NN개가 설치되어 있다.

여러분은 단위 시간마다 하나의 탐사 로봇을 동서남북으로 1만큼 움직이도록 조종할 수 있다. 이때 모든 탐사 로봇이 회수선에 탑승하기 위해 걸리는 최소 시간을 구하는 프로그램을 작성해 보자. 단, 두 로봇이 충돌하면 폭발의 위험이 있기 때문에 이동 중에 두 로봇을 같은 좌표에 위치시키면 안 된다.

입력

첫째 줄에 탐사 로봇의 개수 NN이 주어진다. (1≤N≤100 000)(1≤N≤100\,000)

둘째 줄부터 N개의 줄에 각 탐사 로봇이 배치된 좌표 xi,yix_i, y_i가 공백으로 구분되어 주어진다. (−1 000 000≤xi,yi≤1 000 000)(-1\,000\,000≤x_i,y_i≤1\,000\,000) 각 좌표는 모두 다르다.

마지막 줄에는 회수선이 위치한 시작 좌표 X,YX, Y와 배치 방향 DD가 공백으로 구분되어 주어진다. (−1 000 000≤X,Y≤1 000 000;D⊂{E,N})(-1\,000\,000≤X,Y≤1\,000\,000; D\subset\{E, N\})

  • DD가 E인 경우 회수선은 동쪽으로 배치되어 있고 (X,Y),(X+1,Y),⋯ ,(X+N−1,Y)(X, Y), (X+1, Y), \cdots , (X+N-1, Y)에 좌석이 설치되어 있음을 의미한다.
  • DD가 N인 경우 회수선은 북쪽으로 배치되어 있고 (X,Y),(X,Y+1),⋯ ,(X,Y+N−1)(X, Y), (X, Y+1), \cdots , (X, Y+N-1)에 좌석이 설치되어 있음을 의미한다.

회수선의 좌석이 설치된 좌표에는 탐사 로봇이 배치되어 있지 않다.

출력

모든 탐사 로봇이 회수선에 탑승하기 위해 걸리는 최소 시간을 출력한다.

예제 입력 1

5
2 3
-2 6
-1 1
4 0
3 -4
0 1 E

예제 출력 1

17
문제를 만든 사람
202302534_김승현
알고리즘 분류
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출

제출 내역이 없습니다.

맞은 사람
#순위사용자언어시간메모리코드 길이
10217🥇
옥찬호
Rust6ms3440KB2402B
10096🥈
박승현
C++12ms2968KB794B
9864🥉
짬뽕빵
C++13ms2580KB792B
100824
박성재
C++13ms3152KB1119B
101155
김승현
PyPy72ms72172KB452B
102336
황준영
PyPy156ms67020KB394B
101187
김진수
Python282ms30548KB504B
난이도 투표
Gold V1명 투표· 7개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
#사용자문제결과언어시간메모리코드 길이제출 시간
10233
맞았습니다
PyPy156ms67020KB394B2026. 10. 04. 06:12
10231
시간 초과
PyPy--895B2026. 10. 04. 06:01
10217
맞았습니다
Rust6ms3440KB2402B2026. 10. 03. 23:37
10118
맞았습니다
Python282ms30548KB504B2026. 10. 02. 06:49
10117
틀렸습니다
Python--613B2026. 10. 02. 05:57
10116
맞았습니다
PyPy73ms72100KB452B2026. 10. 02. 05:45
10115
맞았습니다
PyPy72ms72172KB452B2026. 10. 02. 05:44
10107
맞았습니다
C++14ms4688KB1143B2026. 10. 01. 15:12
10105
맞았습니다
C++12ms2968KB1062B2026. 10. 01. 15:04
10104
틀렸습니다
C++--691B2026. 10. 01. 14:58
10103
맞았습니다
C++30ms4688KB1149B2026. 10. 01. 14:54
10100
맞았습니다
C++16ms2968KB722B2026. 10. 01. 14:47
10099
맞았습니다
C++12ms2968KB782B2026. 10. 01. 14:46
10098
맞았습니다
C++12ms2968KB778B2026. 10. 01. 14:45
10096
맞았습니다
C++12ms2968KB794B2026. 10. 01. 14:39
10095
컴파일 에러
C++--809B2026. 10. 01. 14:39
10094
맞았습니다
Python111ms41568KB739B2026. 10. 01. 14:37
10093
맞았습니다
Python110ms41668KB739B2026. 10. 01. 14:37
10092
맞았습니다
C++14ms4688KB1083B2026. 10. 01. 14:33
10088
맞았습니다
C++14ms4688KB1083B2026. 10. 01. 13:55