Cho số nguyên dương \(K\) và dãy số nguyên dương \(A\) gồm \(n\) phần tử phân biệt \(a_{1},\ a_{2},\ a_{3},\ \ldots,\ a_{n}\).
Yêu cầu: Cho biết số lượng cách
chọn hai phần tử (\(a_{i},\ a_{j})\) bất kì có trong \(n\) phần tử của
dãy \(A\) sao cho: \(a_{i} + a_{j} = K\ (1 \leq i < j \leq
n)\).
Dữ liệu vào:
+ Dòng thứ nhất chứa 2 số nguyên dương \(n,\ K\ (2 \leq n \leq 10^{5},\ 1 \leq K \leq {2.10}^{9})\) cách nhau một kí tự trắng;
+ Dòng thứ \(i\) trong \(n\) dòng tiếp theo chứa số nguyên dương \(a_{i}\ (1 \leq a_{i} \leq 10^{9})\).
Kết quả ra:
+ Ghi một số nguyên dương thỏa mãn yêu cầu của bài toán.
Ví dụ:
Input | Output | Giải thích |
---|---|---|
7 12 1 5 11 4 7 3 8 | 3 | Có tất cả 3 cặp số thỏa mãn yêu cầu bài toán: \(\left( a_{1},\ a_{3} \right);\left( a_{2},\ a_{5}
\right);\left( a_{4},\ a_{7} \right)\).
|
Ràng buộc dữ liệu:
\(40\%\) tests ứng với: \(2 \leq n \leq 10^{3},\ \ 1 \leq a_{i} \leq 32000\);
\(40\%\) tests ứng với: \(2 \leq n \leq 10^{5},\ \ 1 \leq a_{i} \leq 10^{6}\);
\(20\%\) tests ứng với: \(2 \leq n \leq 10^{5},\ \ 1 \leq a_{i} \leq 10^{9}\).
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |