생활비

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

요약
일부 연도별 물가상승률과 상품 가격이 주어질 때, 연도 간 관계를 이용해 알려지지 않은 값을 추론하고 가격 질의에 답한다.
난이도

보통10점 중 6점

유형
그래프, 유니온 파인드, 수학, 구현
정답자
아직 제출이 없습니다

문제

한 신문 칼럼니스트가 디즈니랜드의 가격 인상을 경제의 다른 것들과 비교하는 칼럼을 썼다. 예를 들어, 휘발유가 1990년 이후 디즈니랜드 입장료와 같은 비율로 인상되었다면 갤런당 $6.66이었을 것이다.

연속된 여러 해에 걸친 여러 상품의 가격을 생각하자. 해 xx에서 다음 해 (x+1x+1)로의 인플레이션율 (inflation(x)>0\text{inflation}(x) > 0)이 있다. 또한 각 상품 AA에는 그 상품에 고정된 계수 (modifier(A)>0\text{modifier}(A) > 0)가 있다. 따라서 해 x+1x+1에서 상품 AA에 대해:

price(A,x+1)=price(A,x)⋅inflation(x)⋅modifier(A)\text{price}(A, x+1) = \text{price}(A, x) \cdot \text{inflation}(x) \cdot \text{modifier}(A)

불행히도 계수는 알 수 없고, 일부 가격과 인플레이션율도 알 수 없다.

일부 인플레이션율, 연속된 여러 해에 걸친 여러 상품의 가격, 특정 해의 특정 상품 가격에 대한 여러 질의가 주어질 때, 질의에 답하라.

입력

각 테스트 케이스는 공백으로 구분된 세 정수 yy (1≤y≤101 \le y \le 10), cc (1≤c≤1001 \le c \le 100), qq (1≤q≤y⋅c1 \le q \le y \cdot c)가 있는 줄로 시작한다. yy는 연속된 해의 수, cc는 상품의 수, qq는 답해야 할 질의의 수이다.

다음 y−1y - 1개 줄에는 각각 하나의 실수 rr (1.0≤r≤1.51.0 \le r \le 1.5, 또는 r=−1.0r = -1.0)이 있으며, 이것이 인플레이션율이다. 값 −1.0-1.0은 인플레이션율을 알 수 없음을 나타낸다. 첫 번째 인플레이션율은 1년에서 2년으로의 변화, 두 번째는 2년에서 3년으로의 변화, 이런 식이다. 알려진 인플레이션율은 지정된 제한을 따른다. 알 수 없지만 유일하게 결정할 수 있는 인플레이션율은 이 제한을 따르지 않을 수 있으며, 단지 0보다 엄격히 크다는 것만 보장된다.

다음 yy개 줄에는 각각 한 해의 가격이 주어진다. 공백으로 구분된 cc개의 실수 pp (1.0<p<1,000,000.01.0 < p < 1{,}000{,}000.0, 또는 p=−1.0p = -1.0)가 있으며, 그 해에서 그 상품의 가격을 나타낸다. 값 −1.0-1.0은 가격을 알 수 없음을 나타낸다.

다음 qq개 줄에는 각각 공백으로 구분된 두 정수 aa (1≤a≤c1 \le a \le c)와 bb (1≤b≤y1 \le b \le y)가 있으며, bb년에서 상품 aa의 가격을 묻는 질의를 나타낸다. 모든 질의는 서로 다르다.

유일하게 결정할 수 있는 모든 가격은 0보다 엄격히 크고 1,000,000.01{,}000{,}000.0보다 엄격히 작다. 입력의 가격과 인플레이션율 값은 정확하지 않을 수 있지만 소수점 10자리까지 정확하다. 모든 실수 값은 소수점 이하 10자리를 넘지 않는다.

출력

qq개 줄을 출력한다. 각 줄에는 주어진 해의 주어진 상품 가격을 나타내는 하나의 실수를 출력하거나, 결정할 수 없으면 −1.0-1.0을 출력한다. 질의는 입력에 나타난 순서대로 답한다. 답은 절대 오차 또는 상대 오차가 10−410^{-4} 이내이면 정답으로 인정된다.

예제1

  1. 예제 1

    입력
    4 2 2
    1.3333333333
    1.2500000000
    -1
    3.00 -1
    4.00 8.00
    5.00 10.00
    -1 11.00
    2 1
    1 4
    
    예상 출력
    6.0000000000
    5.5000000000