만드는 중입니다

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

주식 시장

면접 대비

시간 제한1초메모리 제한2048 MB

요약
주기적으로 반복되는 가격 변동이 주어질 때, 가격이 X 이상이 되는 가장 낮은 가격을 구하고, 그런 가격이 없으면 -1을 출력하는 문제입니다.
난이도

보통10점 중 6점

유형
누적 합, 수학, 배열
정답자
아직 제출이 없습니다

문제

아드리안은 예전에 사 둔 주식을 가지고 있고, 이를 팔려고 한다. 0일차의 주가는 P0P_0이다. 로봇 모건은 미래를 예측할 수 있다. 모건은 주가 변동이 NN일마다 반복된다고 아드리안에게 알려 준다.

정식으로 말하면, 0≤i≤N−10 \le i \le N - 1일 때 ii일에서 i+1i + 1일로 넘어가는 주가 변동을 DiD_i라고 하자. i≥Ni \ge N이면 Di=Di mod ND_i = D_{i \bmod N}이다. i>0i > 0일 때 ii일의 주가는 Pi=Pi−1+Di−1P_i = P_{i-1} + D_{i-1}이다. 주가는 음수가 될 수도 있다.

모건은 주가가 하락 추세라는 것도 알고 있다. 모든 DiD_i의 합은 음수이다.

날짜01234567891011121314151617...
주가20241817211210148711204-2-31-8...

아드리안은 주가가 자신이 주식을 산 가격 XX 이상일 때만 주식을 팔 수 있다. 그래야 손해를 보지 않는다. 그는 XX 이상인 주가 중 가장 낮은 가격에 팔고 싶어 한다. P0≥XP_0 \ge X이면 0일차에 팔 수 있다.

입력

첫 줄에 세 정수 NN, P0P_0, XX가 주어진다 (1≤N≤100 0001 \le N \le 100\,000; 1≤P0,X≤1091 \le P_0, X \le 10^9). 다음 줄에는 NN일마다 반복되는 주가 변동 DiD_i NN개가 주어진다 (−109≤Di≤109-10^9 \le D_i \le 10^9). 모든 DiD_i의 합은 음수임이 보장된다.

출력

XX 이상인 주가가 존재하면, 그중 가장 낮은 가격을 한 줄에 출력한다. 존재하지 않으면 -1을 한 줄에 출력한다.

예제3

  1. 예제 1

    입력
    6 20 5
    4 -6 -1 4 -9 -2
    
    예상 출력
    7
    
  2. 예제 2

    입력
    6 20 1
    4 -6 -1 4 -9 -2
    
    예상 출력
    1
    
  3. 예제 3

    입력
    1 3 4
    -1
    
    예상 출력
    -1