만드는 중입니다

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

높이 프로필

면접 대비

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

요약
정수 킬로미터마다 높이가 주어질 때, 평균 경사가 각 질의 경사 이상인 가장 긴 구간의 길이를 구하고, 없으면 impossible을 출력합니다.
난이도

보통10점 중 5점

유형
배열, 투 포인터, 누적 합
정답자
아직 제출이 없습니다

문제

사이클 클래식 레이스인 암스텔 골드 레이스는 매년 네덜란드 림뷔르흐 주에서 열린다. 이 대회에는 짧은 오르막이 자주 나와서 선수들이 오르막 사이에 쉴 시간이 거의 없다. 예를 들어 대회 마지막 42km 구간에는 길이가 평균 약 1km인 가파른 오르막이 8개 있다.

각 오르막의 경사도는 퍼센트로 주어진다. 경사도가 100%라는 것은 수평으로 1m 이동할 때 수직으로 1m 올라간다는 뜻이다. 경사도가 0%이면 완전히 평평하다. 일반적으로 경사도가 p%이면 수평 1m마다 수직으로 p/100p/100m를 올라간다. 경사도는 음수일 수도 있다.

도로의 높이는 출발점에서 수평 거리가 정수 킬로미터인 지점에서 알려져 있다. 이 지점들 사이에서 높이는 구간별 선형으로 변한다. 즉 0km와 1km 사이, 1km와 2km 사이 등에서 경사도는 일정하다. 예를 들어 그림 H.1에서 수평 거리 2.5km 지점의 높이는 정확히 20m이다.

그림 H.1: 처음 3km 수평 구간의 경사도는 차례로 0%, 1%, 2%이다. 마지막 1km의 경사도는 -3.5%이다.

수평 구간의 경사도는 양 끝점 사이에서 잰다. 예를 들어 그림 H.1에서 1km부터 4km까지의 경사도는 2km 동안 60m를 올라가므로 2%이다. 이 구간은 경사도가 2% 이상인 구간 중 가장 긴 구간이기도 하다.

암스텔 골드 레이스든 투르 드 프랑스의 한 스테이지든, 하루짜리 레이스마다 주어진 경사도 이상인 수평 구간의 가장 긴 길이를 구하려 한다. 여러 경사도에 대해 각각 답을 구한다.

입력

첫 줄에 두 정수 n과 k가 주어진다(2≤n≤1052 \le n \le 10^5, 1≤k≤501 \le k \le 50). n은 레이스의 수평 길이(km)이고, k는 선택한 경사도의 개수이다. 둘째 줄에는 n+1n+1개의 정수 h0,h1,…,hnh_0, h_1, \ldots, h_n이 주어진다(0≤hi≤1090 \le h_i \le 10^9). hih_i는 출발점에서 수평으로 i km 떨어진 지점의 도로 높이(m)이다. 이어서 k개의 줄에 각각 실수 g가 한 개씩 주어진다(−100≤g≤100-100 \le g \le 100). g는 소수점 아래 자릿수가 정확히 한 자리이며, 관심 있는 경사도이다.

출력

k개의 경사도 각각에 대해 입력 순서대로, 그 경사도 이상인 수평 구간 중 가장 긴 구간의 길이를 km 단위로 한 줄에 출력한다. 그런 구간이 없으면 impossible을 출력한다. 답은 절대 오차 또는 상대 오차가 10−610^{-6} 이하이어야 한다.

예제2

  1. 예제 1

    입력
    8 2
    0 0 10 30 60 45 75 65 30
    2.0
    3.1
    
    예상 출력
    3.000000000
    impossible
    
  2. 예제 2

    입력
    2 2
    0 30 30
    3.0
    2.0
    
    예상 출력
    1.000000000
    1.500000000