SOJ ONLINE JUDGE

두 포인터

난이도: Silver III 출제자: rlatjwls7882 시간 제한: 1000 ms 메모리 제한: 512 MB
두 포인터

두 포인터는 두 개의 인덱스를 이동하며 배열을 탐색하는 방법이다.

오름차순으로 정렬된 $N$개의 서로 다른 정수로 이루어진 배열 $A$와 정수 $X$가 있다. 배열의 인덱스는 1부터 시작한다.

$A_i+A_j=X$를 만족하는 순서쌍 $(i,j)$의 개수를 구하라. $(1 \leq i < j \leq N)$

입력

첫 번째 줄에 배열의 크기 $N$과 정수 $X$가 주어진다. $(1 \leq N \leq 100\,000, 10^9 \leq X \leq 10^9)$

두 번째 줄에 배열의 원소 $A_1,A_2,\cdots,A_N$이 오름차순으로 주어진다. 모든 원소는 서로 다르다. $(-10^9 \leq A_i \leq 10^9)$

출력

조건을 만족하는 순서쌍 $(i,j)$의 개수를 출력한다.

예제 입력 1

7 10
-2 1 3 4 6 7 12

예제 출력 1

3

제출