만드는 중입니다

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

등차수열을 이루는 세 항의 개수

면접 대비

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

요약
i < j < k이고 A_i, A_j, A_k가 등차수열을 이루는 인덱스 삼중항의 개수를 센다.
난이도

보통10점 중 5점

유형
해시맵, 수학
정답자
아직 제출이 없습니다

문제

길이가 NN인 수열 A1,A2,…,ANA_1, A_2, \dots, A_N이 주어진다. 세 인덱스 i<j<ki < j < k가 Aj−Ai=Ak−AjA_j - A_i = A_k - A_j를 만족하면 세 항 Ai,Aj,AkA_i, A_j, A_k는 등차수열을 이룬다. 이 조건은 Ai+Ak=2AjA_i + A_k = 2 A_j와 같다.

조건을 만족하는 (i,j,k)(i, j, k)의 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 수열의 길이 NN이 주어진다. (3≤N≤1000003 \le N \le 100000)

둘째 줄에 A1,A2,…,ANA_1, A_2, \dots, A_N이 공백으로 구분되어 주어진다. (1≤Ai≤300001 \le A_i \le 30000)

출력

i<j<ki < j < k이면서 Aj−Ai=Ak−AjA_j - A_i = A_k - A_j를 만족하는 (i,j,k)(i, j, k)의 개수를 한 줄에 출력한다.

예제3

  1. 예제 1

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

    입력
    3
    1 2 3
    
    예상 출력
    1
    
  3. 예제 3

    입력
    3
    1 2 4
    
    예상 출력
    0