만드는 중입니다

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

추월

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

요약
추월은 정렬 역에서만 가능한 버스들이 있을 때, 예비 버스가 출발 시각 Y로 떠나면 호텔에 몇 초에 도착하는지 Q번의 질의마다 구합니다.
난이도

어려움10점 중 9점

유형
세그먼트 트리, 이분 탐색, 시뮬레이션, 정렬
정답자
아직 제출이 없습니다

문제

한 차선짜리 일방통행 도로가 부다페스트 공항에서 호텔 포라스까지 이어져 있다. 도로의 길이는 LL킬로미터이다.

IOI 2023 행사 기간 동안 N+1N+1대의 환승 버스가 이 도로를 달린다. 버스는 0번부터 NN번까지 번호가 붙어 있다. ii번 버스(0≤i<N0 \le i < N)는 행사 시작 후 T[i]T[i]초에 공항을 출발할 예정이며, 1킬로미터를 W[i]W[i]초에 주행할 수 있다. NN번 버스는 예비 버스로, 1킬로미터를 XX초에 주행할 수 있다. 이 예비 버스가 공항을 출발하는 시각 YY는 아직 정해지지 않았다.

도로에서는 원칙적으로 추월할 수 없다. 대신 버스들은 정렬 정류장에서 서로 추월할 수 있다. 정렬 정류장은 MM개(M>1M > 1)이며, 0번부터 M−1M-1번까지 번호가 붙어 도로 위의 서로 다른 위치에 있다. jj번 정렬 정류장은 공항에서 S[j]S[j]킬로미터 떨어져 있다. 정류장은 공항에서 가까운 순서로 놓여 있어, 0≤j≤M−20 \le j \le M-2인 모든 jj에 대해 S[j]<S[j+1]S[j] < S[j+1]이다. 첫 정류장은 공항이고 마지막 정류장은 호텔이다. 즉 S[0]=0S[0] = 0, S[M−1]=LS[M-1] = L이다.

버스는 앞서가는 느린 버스를 따라잡지 않는 한 최고 속도로 달린다. 따라잡으면 두 버스는 뭉쳐서 다음 정렬 정류장에 도착할 때까지 느린 버스의 속도로 간다. 그 정류장에서 빠른 버스가 느린 버스를 추월한다.

정확히 말하면, 0≤i≤N0 \le i \le N, 0≤j<M0 \le j < M인 모든 ii, jj에 대해 ti,jt_{i,j}를 버스 ii가 정렬 정류장 jj에 도착하는 시각(초)이라 하자. 0≤i<N0 \le i < N이면 ti,0=T[i]t_{i,0} = T[i]이고, tN,0=Yt_{N,0} = Y이다. 0<j<M0 < j < M인 각 jj에 대해, 정류장 j−1j-1을 떠난 뒤 최고 속도로 달렸을 때 정류장 jj에 도착하는 예상 도착 시각 ei,je_{i,j}를 다음과 같이 정의한다.

ei,j=ti,j−1+W[i]⋅(S[j]−S[j−1]) (0≤i<N인 경우)e_{i,j} = t_{i,j-1} + W[i] \cdot (S[j]-S[j-1]) \text{ (} 0 \le i < N \text{인 경우)}

eN,j=tN,j−1+X⋅(S[j]−S[j−1])e_{N,j} = t_{N,j-1} + X \cdot (S[j]-S[j-1])

버스 ii는 ei,je_{i,j}와, tk,j−1<ti,j−1t_{k,j-1} < t_{i,j-1}을 만족하는 모든 버스 kk(0≤k≤N0 \le k \le N)의 ek,je_{k,j} 중 최댓값에 정류장 jj에 도착한다.

이 문제에서는 QQ개의 질의에 답해야 한다. 각 질의는 예비 버스의 출발 시각 YY를 준다. 그 때 예비 버스가 호텔에 도착하는 시각을 구하라.

제한

1≤L≤1091 \le L \le 10^9, 1≤N≤10001 \le N \le 1000, 0≤i<N0 \le i < N인 모든 ii에 대해 0≤T[i]≤10180 \le T[i] \le 10^{18}, 0≤i<N0 \le i < N인 모든 ii에 대해 1≤W[i]≤1091 \le W[i] \le 10^9, 1≤X≤1091 \le X \le 10^9, 2≤M≤10002 \le M \le 1000, 0=S[0]<S[1]<⋯<S[M−1]=L0 = S[0] < S[1] < \cdots < S[M-1] = L, 1≤Q≤1061 \le Q \le 10^6, 0≤Y≤10180 \le Y \le 10^{18}.

예제1

  1. 예제 1

    입력
    1 1 1 2 1
    0
    1
    0 1
    0
    
    예상 출력
    1