만드는 중입니다

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

주기 함수 (Hard)

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

요약
단위 구간 [i-1, i]마다의 적분값이 주어질 때, 함수의 주기를 이용해 구간 [a, b]의 적분값을 구합니다.
난이도

보통10점 중 6점

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

문제

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

주기 함수(週期函數, 영어: 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⁡x dx=∫2π3πsin⁡x dx\int_0^\pi \sin x\,dx = \int_{2\pi}^{3\pi} \sin x\,dx이다.

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

입력

첫 번째 줄에 적분값이 주어질 구간의 길이 LL이 주어진다.

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

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

출력

∫abf(x) dx\int_a^b f(x)\,dx의 값을 한 줄에 출력한다.

제한

  • 2≤L≤3×1052 \le L \le 3\times 10^5
  • −109≤a≤b≤109-10^9 \le a \le b \le 10^9
  • 모든 적분값의 절댓값은 10910^9보다 작거나 같다.
  • 모든 입력은 정수이다.
  • 주기의 길이는 L2\frac{L}{2} 이하의 정수임이 보장된다.

예제2

  1. 예제 1

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

    입력
    10
    1 2 3 4 5 1 2 3 4 5
    -5 15
    
    예상 출력
    60