만드는 중입니다

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

범퍼 투 범퍼 정체

면접 대비

시간 제한4초메모리 제한512 MB

요약
길이 4.4m인 두 자동차가 정지 상태에서 시작해 주어진 시각마다 1m/s로 달리거나 멈추기를 반복할 때, 두 차가 충돌하는지 판정하고 첫 접촉 시각을 올림한 정수 초로 출력한다.
난이도

보통10점 중 6점

유형
구현, 시뮬레이션, 수학, 투 포인터
정답자
아직 제출이 없습니다

문제

퇴근길 정체는 가다 서다를 반복한다. 어느 순간이든 차는 멈춰 있거나 초속 1미터라는 아주 느린 속도로 움직이거나 둘 중 하나다. 요즘 차에는 속도 변화를 전부 기록하는 간단한 블랙박스가 달려 있다. 이 문제에서 속도는 순간적으로 바뀐다.

도로는 미터를 단위로 하는 실수 직선으로 본다. 따라서 차 한 대는 직선 위의 위치 하나로 나타낸다. 차의 길이는 모두 4.4미터다.

양의 방향으로 달리는 두 차의 처음 위치와 속도 변화 기록이 주어진다. 두 차가 한 번이라도 부딪혔는지 판정하라. 이 정도 속도의 충돌은 범퍼가 살짝 닿는 수준이지만, 한 번 부딪히면 그 뒤의 블랙박스 기록은 믿을 수 없어서 충돌 이후의 기록은 앞뒤가 맞지 않을 수 있다.

입력

테스트 케이스는 하나다. 첫 줄에 두 차의 뒤쪽 끝 위치를 나타내는 정수 X1X_1, X2X_2가 미터 단위로 주어진다 (0≤X1,X2≤1060 \le X_1, X_2 \le 10^6). X1+5≤X2X_1 + 5 \le X_2 또는 X2+5≤X1X_2 + 5 \le X_1 중 하나가 반드시 성립한다. 시각 0에 두 차는 모두 멈춰 있다.

둘째 줄은 첫 번째 차의 속도가 바뀐 횟수 N1N_1로 시작한다 (0≤N1≤1050 \le N_1 \le 10^5). 이어서 그 시각을 초 단위로 나타내는 정수 N1N_1개 T1<T2<⋯<TN1T_1 < T_2 < \cdots < T_{N_1}이 주어진다 (0<Ti≤1060 < T_i \le 10^6). 즉 시각 T1T_1에 초속 1미터로 출발하고, 시각 T2T_2에 멈추고, 시각 T3T_3에 다시 출발하는 식이다.

셋째 줄은 N2N_2로 시작하고 (0≤N2≤1050 \le N_2 \le 10^5), 두 번째 차가 출발하고 멈춘 시각 T1′<T2′<⋯<TN2′T'_1 < T'_2 < \cdots < T'_{N_2}가 이어진다 (0<Ti′≤1060 < T'_i \le 10^6).

출력

두 차가 부딪히면 bumper tap at time S를 한 줄에 출력한다. SS는 시각 0부터 두 차가 처음 닿을 때까지 걸린 시간을 초 단위로 올림한 값이다. 끝까지 부딪히지 않으면 safe and sound를 한 줄에 출력한다.

예제3

  1. 예제 1

    입력
    0 5
    3 1 4 5
    3 1 4 6
    
    예상 출력
    bumper tap at time 6
    
  2. 예제 2

    입력
    10 0
    2 1 2
    1 1
    
    예상 출력
    bumper tap at time 8
    
  3. 예제 3

    입력
    2 13
    1 1
    3 4 7 10
    
    예상 출력
    safe and sound