Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, PyPy, Python
Cho dãy a gồm n phần tử và số k , đếm số cặp ( l , r ) ( l < r ) sao cho a l + a r = k .
Đầu vào Dòng đầu gồm số n và k (1 ≤ n ≤ 10 ^5 , - 10^ 5 ≤ k ≤ 10 ^5 )
Dòng tiếp theo gồm n số, số thứ i là giá trị của phần tử a i ( - 10^ 5 ≤ a i ≤ 10 ^5 )
Đầu ra Bao gồm một dòng duy nhất là câu trả lời cần tìm
đâu vào
5 4
1 1 3 2 2
đầu ra
3
Bình luận
include<bits /stdc++.h>
using namespace std;
define N 100000
long long n, a[1000000], k, cnt = 0 ;
int main() { cin >> n >> k; k += 2*N; for(int i = 1; i <= n; i++) { long long x; cin >> x; x+=N; cnt+= a[k-x]; a[x]++; } cout << cnt++;
}