6071 : 합이 K인 쌍 수
•시간제한: 2.000 S
•메모리제한: 256 MB
•제출: 7
•통과: 1
•만든사람: suakii
문제 설명
길이가 $N$인 정수 배열에서 두 수의 합이 정확히 $K$가 되는 인덱스 쌍 $(i, j)$ ($i < j$)의 총 개수를 구하는 프로그램을 작성하세요.
배열에 같은 숫자가 여러 개 존재할 수 있으며, 서로 다른 위치(인덱스)에 있는 원소들의 조합이라면 각각 별개의 쌍으로 카운트해야 합니다.
[제약 조건]
• 배열 크기 $N$: $1 \le N \le 100{,}000$ (정수)
• 목표 합 $K$: $1 \le K \le 10^9$ (정수)
• 각 원소: $1 \le a_i \le 10^9$ (정수)
입력 설명
첫째 줄에 배열의 크기 $N$ ($1 \le N \le 50,000$)과 목표 합 $K$가 공백으로 주어집니다.
둘째 줄에는 $N$개의 정수가 공백으로 구분되어 주어집니다. (각 정수는 $-10^9$ 이상 $10^9$ 이하)
출력 설명
두 원소의 합이 $K$가 되는 서로 다른 인덱스 쌍 $(i, j)$ ($i < j$)의 총 개수를 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
5 5
1 2 3 4 1
출력 예시
COPY
복사되었습니다!
복사되었습니다!
3
도움
[예제 1 설명]
배열이 [1, 2, 3, 4, 1] (인덱스 0~4)일 때 $K=5$가 되는 인덱스 쌍 $(i, j)$는 다음과 같이 총 3개입니다.
- 인덱스 $(0, 3)$: $1 + 4 = 5$
- 인덱스 $(1, 2)$: $2 + 3 = 5$
- 인덱스 $(4, 3) \to (3, 4)$: $4 + 1 = 5$