소가 길을 건너간 이유 12

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

요약
길 양쪽에 놓인 N개 품종의 순서가 주어질 때, 선분이 교차하면서 품종 번호 차이가 K보다 큰 쌍의 개수를 센다.
난이도

보통10점 중 6점

유형
분할 정복, 정렬, 배열, 이분 탐색
정답자
아직 제출이 없습니다

문제

이번에는 존의 농장을 제대로 찾아가긴 했는데, 다른 이유로 계획이 실행되지 못했다. 존의 소 친밀도 이론에서 오류가 발견되었기 때문이다.

존의 농장에는 NN 종류의 소가 있고, 각각 11번 종, 22번 종, …\ldots, NN번 종이다. ∣a−b∣≤K|a-b| \le K이면 aa번 종과 bb번 종의 소는 친하고, 그렇지 않으면 사이가 나쁘다. 종마다 목초지 구조가 너무 달라서 한 목초지에는 정해진 종의 소만 방목할 수 있다. 즉 ii번 목초지에는 ii번 종의 소만 방목할 수 있다. 소가 길을 건넌다는 것은 자기 종을 방목하는 반대편 목초지로 이동한다는 뜻이다.

존 도와주기 협회에 새로 가입한 사람들을 위해 농장 구조를 다시 설명하겠다. 농장에는 일자로 곧은 길이 하나 있고, 길 양쪽에 목초지가 NN개씩 있다. 왼쪽 목초지에는 종마다 목초지를 하나씩 차지하고 있고, 오른쪽도 마찬가지이다. 존이 목초지를 지을 때 신경을 쓰지 않아 목초지 순서가 뒤죽박죽이므로, aa번 종의 소와 bb번 종의 소가 건너는 길이 서로 겹칠 수도 있다. 이런 두 종 (a,b)(a, b)를 "가로지르는 쌍"이라고 하자.

이번에는 횡단보도를 설치하기 전에, 사이가 나쁘면서 가로지르는 쌍이 몇 개인지 세려고 한다. 존 도와주기 협회장의 임기가 곧 끝나기 때문에 이것이 우리의 마지막 임무이다. 마지막으로 존을 도와주자.

입력

첫째 줄에 NN (1≤N≤100,0001 \le N \le 100{,}000)과 KK (0≤K<N0 \le K < N)가 주어진다. 다음 NN개의 줄에는 길 왼쪽에 있는 목초지의 번호가 차례대로 하나씩 주어진다. 각 종은 정확히 한 번씩 나타난다. 그다음 NN개의 줄에는 길 오른쪽에 있는 목초지의 번호가 같은 방식으로 주어진다.

출력

사이가 나쁘면서 가로지르는 쌍의 개수를 출력한다.

힌트

첫 번째 예제에서는 11번 종과 44번 종, 11번 종과 33번 종이 사이가 나쁘면서 가로지르는 쌍이다.

예제1

  1. 예제 1

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