주기 함수 (Easy)

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

요약
주기 함수의 한 주기에 대한 단위 구간별 적분값이 주어질 때, 임의의 구간 [a, b]의 적분값을 구한다.
난이도

보통10점 중 4점

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

문제

이 문제는 주기 함수 (Hard)와 입력 조건이 다르다.

주기 함수(週期函數, 영어: periodic function)는 함숫값이 일정 주기마다 되풀이되는 함수이다. 구체적으로는 모든 xx에 대해 f(x+p)=f(x)f(x+p)=f(x)인 양수 pp가 존재할 때 함수 f(x)f(x)를 주기 함수라 하고, pp를 주기라 한다. 같은 함수에 대해서도 주기는 여러 값을 가질 수 있다. 예를 들어 f(x)=sin⁡xf(x) = \sin x인 경우 모든 양의 정수 nn에 대해 2nπ2n\pi는 주기가 될 수 있다.

주기 함수는 정적분을 계산할 때 용이하다. 주기만큼 적분 구간을 바꾸어도 그 값은 동일하기 때문이다. 예를 들어 sin⁡\sin 함수의 경우 주기가 2π2\pi이므로 ∫_0πsin⁡xdx=∫_2π3πsin⁡xdx\displaystyle\int\_0^\pi \sin x dx = \int\_{2\pi}^{3\pi} \sin x dx이다.

두영이는 매일 이안이가 모르는 주기 함수를 가지고 와서 주기에 해당하는 길이의 구간의 적분값을 주고, 주어진 구간의 적분값을 찾는 문제를 풀어달라고 한다. 매일 문제를 푸느라 지친 이안이는 자동으로 답을 구해주는 프로그램을 만들고자 한다.

입력

첫 번째 줄에 함수의 주기 pp가 주어진다.

두 번째 줄에 구간의 적분값 pp개가 공백으로 구분되어 주어진다. 1≤i≤p1 \le i \le p인 정수 ii에 대해 ii번째 수는 ∫_i−1if(x)dx\displaystyle \int \_{i - 1}^i f(x) dx를 나타낸다.

세 번째 줄에 구하고자 하는 구간의 위치 aa와 bb가 공백으로 구분되어 주어진다.

출력

∫_abf(x)dx\displaystyle\int\_a^b f(x)dx의 값을 한 줄에 출력한다.

제한

  • 1≤p≤1051 \le p \le 10^5
  • −109≤a≤b≤109-10^9 \le a \le b \le 10^9
  • 모든 적분값의 절댓값은 10910^9보다 작거나 같다.
  • 모든 입력은 정수이다.

예제3

  1. 예제 1

    입력
    10
    1 2 3 1 2 3 1 2 3 1
    2 5
    
    예상 출력
    6
    
  2. 예제 2

    입력
    5
    1 2 3 4 5
    9 9
    
    예상 출력
    0
    
  3. 예제 3

    입력
    4
    1 2 4 8
    -5 -3
    
    예상 출력
    9