문제1335--불사대마왕(The Unkillable Demon King)

1335: 불사대마왕(The Unkillable Demon King)

[만든사람 : 39기 정시헌]
시간제한 : 1.000 sec  메모리제한 : 256 MiB

문제 설명

리그 오브 레전드, 일명 LOL의 레전드 프로게이머이자 나아가 E-Sport 역사를 통틀어도 손에 꼽는 레전드 프로게이머인 

페이커(이상혁)은 꾸준히 세계 최정상의 자리를 지키는 것으로도 유명해 영어권에서는 불사대마왕이라는 별명이 붙어있다.

 

롤 프로경기를 보는 사람들은 페이커의 폼이 좋으면 “전성기를 맞이했다”, 또는 “제 2,3의 전성기를 다시 맞이했다” 라고 하곤 한다. 

하지만, 실제로 경기 점수나 지표를 보았을 때에는 추억 보정 등으로 인해서 옳지 않은 정보인 경우도 존재한다.

 

T1의 열렬한 팬인 우진이는 사람들이 하는 말이 진실된지 확인하고 싶어한다. 

우진이를 도와 사람들이 “X년은 페이커의 Y년 이후 다시 맞이한 전성기이다.” 라고 말하는 것에 대해서 참, 거짓, 또는 가능성 있음의 3가지를 판별해주는 프로그램을 만들어보자.

 

사람들의 말이 진실이 되는 경우는 다음과 같은 3가지의 조건을 만족해야 한다.

1. Y년의 지표가 X년보다 좋거나 같아야 한다.

2. Y년과 X년 사이에 있는 연도의 지표는 모두 X년보다 좋지 않아야 한다.

3. X년과 Y년, 그리고 그 중간의 모든 연도에 공백기 없이 지표가 존재해야 한다.

 

이 3가지의 조건을 모두 만족하면 참으로 판별하고, X년과 Y년 사이에 공백기가 존재할 경우, 주어진 3개의 조건을 모두 만족하도록 공백기의 지표를 임의로 설정할 수 있으면 가능성 있음, 3개의 조건을 만족하도록 공백기의 지표를 설정할 수 없거나, 공백기가 없을 때 3개의 조건을 만족하지 못하면 거짓으로 판별한다.

입력 설명

첫 줄에는 페이커의 연도별 경기 지표 개수 N ( 1  N  50,000 )이 주어진다. 

다음 N개의 줄에는 T ( 1 ≤ T ≤ 100,000 )년의 지표 S ( -50,000,000  S  50,000,000 )가 주어진다. 

그 다음 줄은 전성기에 대해 논의하는 사람들의 수 P ( 1  P  10,000 )이 주어지고, 

다음 P개의 줄에는 “ X년은 Y년 이후 전성기 ”에서의 X와 Y가 주어진다.

( 1  Y  X  100,000 ) 이때, X년과 Y년 역시 공백기일 수 있다.

출력 설명

P개의 줄에 각 사람들이 말한 전성기에 대한 답을 출력한다. 참일 경우에는 True를, 가능할 경우에는 Possible을, 거짓일 경우에는 False를 출력한다.

입력 예시 Copy

9
2 2999
7744 29993
7745 2884
7747 2285
7748 22044
7749 21023
7750 3394
7752 22031
7751 19923
3
7748 7744
7752 7748
7751 7748

출력 예시 Copy

Possible
True
False

도움

예시 설명 :

7744에서 7748년의 사이에는 7746년이 공백기이다. 이때, 7746년의 지표를 22044보다 작게 가정하면 3가지의 조건을 모두 만족할 수 있으므로 Possible이다.

7748과 7752년의 사이에는 공백기가 존재하지 않고, 주어진 3개의 조건을 모두 만족하므로 True이다.

7748과 7751년의 사이에도 공백기가 없지만, 중간 연도인 7749년의 지표가 7751년을 넘었기에 조건을 만족하지 못하여 False이다.

출처/분류