아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

나누어지는 역전 수

면접 대비

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

요약
1부터 n까지의 순열이 주어질 때, i < j이고 p[i]가 p[j]의 배수인 쌍의 개수를 센다.
난이도

보통10점 중 6점

유형
배열, 수학, 정수론, 이분 탐색
정답자
아직 제출이 없습니다

문제

최근 Vasya는 펜윅 트리로 순열의 역전 수를 계산하는 방법을 배웠다. 그런데 Petya는 이 문제가 쉽다고 생각해 더 어려운 문제를 만들기로 했다. Petya는 Vasya에게 한 원소가 다른 원소를 나누어떨어지게 하는 역전의 수를 계산하라고 했다. 형식적으로, 순열 (p1,p2,…,pn)(p_{1}, p_{2}, \ldots, p_{n})이 주어질 때 i<ji < j이고 pip_{i}가 pjp_{j}의 배수인 인덱스 쌍 (i,j)(i, j)의 수를 구하는 것이다.

Vasya가 이 문제를 풀도록 도와주자.

입력

첫째 줄에는 순열의 길이 nn이 주어진다 (1≤n≤100 0001 \le n \le 100\,000). 둘째 줄에는 nn개의 정수 pip_{i}가 공백으로 구분되어 주어진다. 주어지는 정수는 11부터 nn까지의 정수로 이루어진 순열임이 보장된다.

출력

주어진 순열에서 나누어지는 역전의 수를 정수 하나로 출력한다.

예제2

  1. 예제 1

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

    입력
    5
    5 4 3 2 1
    
    예상 출력
    5