아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

특수부대 CH

시간 제한2초메모리 제한64 MB

요약
수레에 탑승하고 총에 맞아 죽었다가 부활하는 요원들과 함께 수직선 위를 움직이는 수레의 위치를 각 질의 시각마다 계산한다.
난이도

보통10점 중 7점

유형
시뮬레이션, 구현
정답자
아직 제출이 없습니다

문제

특수부대 CH는 물자를 실은 짐 수레를 목적지까지 옮기는 임무를 맡았다.

임무는 수직선 위에서 이루어진다. 짐 수레와 각 요원의 위치는 수직선 위의 한 점이고, 좌표의 단위는 미터이다. 수레는 좌표 ss에서 출발해 좌표 ee까지 가야 한다.

그림에서 수레는 6에서 출발해 2에 도착해야 하고, 네 명의 요원이 1, 7, -1, 4에 서 있다.

어느 순간에 수레와 위치가 같은 요원, 즉 수레에 타고 있는 요원이 pp명이면 그 순간 수레의 속력은 pp m/s이다. 수레는 언제나 목표 지점 쪽으로만 움직이고, 목표 지점에 닿으면 멈춘다.

살아 있는 요원 중 수레에 타지 않은 요원은 자신의 속력 viv_i로 항상 수레를 향해 움직인다. 요원은 수레와 같은 위치에 닿는 순간 수레에 타며, 한 번 타면 자신의 속력과 상관없이 수레와 함께 목표 지점까지 이동한다.

요원은 총격을 받으면 체력이 줄어든다. 체력이 0 이하가 되면 그 요원은 사망한다. 사망한 요원은 사망한 시점으로부터 10초 뒤에 자신의 초기 위치에서 체력이 가득 찬 상태로 다시 살아나 임무를 이어간다. 사망해 있는 동안에는 수레에 타고 있지 않고 수레의 속력에도 보태지지 않는다.

기록관인 당신은 모든 총격 기록을 가지고 있다. 이 기록을 바탕으로 궁금한 시각마다 수레가 어느 좌표에 있었는지 복원하라.

입력

첫째 줄에 수레의 시작 좌표 ss와 목표 좌표 ee가 공백으로 구분되어 주어진다. (0≤s≤1 0000 \le s \le 1\,000, 0≤e≤1 0000 \le e \le 1\,000)

둘째 줄에 요원의 수 mm이 주어진다. (1≤m≤101 \le m \le 10)

다음 mm개의 줄에 요원의 정보가 한 줄에 하나씩 주어진다. ii번째 줄에는 ii번 요원의 초기 위치 xix_i(m), 초기 체력 hih_i, 이동 속력 viv_i(m/s)가 공백으로 구분되어 주어진다. (0≤xi≤1 0000 \le x_i \le 1\,000, 150≤hi≤600150 \le h_i \le 600, 1≤vi≤1 0001 \le v_i \le 1\,000)

다음 줄에 총격의 수 ll이 주어진다. (1≤l≤1001 \le l \le 100)

다음 ll개의 줄에 총격 정보가 한 줄에 하나씩 주어진다. jj번째 줄에는 총격을 받은 요원의 번호 aja_j, 총격이 일어난 시각 bjb_j(초), 줄어드는 체력 djd_j가 공백으로 구분되어 주어진다. (1≤aj≤m1 \le a_j \le m, 0≤bj≤1 0000 \le b_j \le 1\,000, 1≤dj≤6001 \le d_j \le 600)

다음 줄에 질의의 수 qq가 주어진다. (1≤q≤1 0001 \le q \le 1\,000)

다음 qq개의 줄에 수레의 위치를 알고 싶은 시각 tt(초)가 한 줄에 하나씩 주어진다. (0≤t≤1 0000 \le t \le 1\,000)

입력으로 주어지는 수는 모두 정수이다. 총격이 일어난 시각에 그 요원이 이미 사망한 상태였다면 그 총격은 무시한다. 부활 시각과 총격 시각이 정확히 같으면 부활한 뒤에 총격을 받은 것으로 본다. 시각 0에 수레와 모든 요원은 각자의 시작 위치에 있다.

출력

질의로 주어진 각 시각마다 그때 수레가 있던 좌표를 한 줄에 하나씩 출력한다. 좌표는 소수점 아래 일곱째 자리에서 반올림해 소수점 아래 여섯째 자리까지 출력한다. 정답이 반올림의 경계에 놓이는 입력은 주어지지 않는다.

예제2

  1. 예제 1

    입력
    1 2
    1
    0 150 1
    1
    1 1000 1
    5
    0
    1
    2
    3
    4
    
    예상 출력
    1.000000
    1.000000
    2.000000
    2.000000
    2.000000
    
  2. 예제 2

    입력
    0 10
    2
    0 200 1
    6 200 1
    1
    2 900 1
    9
    0
    1
    2
    3
    4
    5
    6
    7
    20
    
    예상 출력
    0.000000
    1.000000
    2.000000
    3.000000
    5.000000
    7.000000
    9.000000
    10.000000
    10.000000