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
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python
Cho dãy ~A~ gồm ~n~ số nguyên dương ~a_{1}, a_{2}, ..., a_n~ và số nguyên dương ~S~.
Yêu cầu
Hãy đếm xem có bao nhiêu cặp số ~(a_{i}, a_{j})~ thỏa mãn ~a_{i} + a_{j} = S~ ~(1 \le i < j \le n)~.
Dữ liệu đầu vào
- Dòng thứ nhất ghi hai số nguyên dương ~n~ và ~S~ ~(2 \le n \le 10^5;\ S \le 10^6)~;
- Dòng thứ hai ghi ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ ~(1 \le i \le n,\ 1\le a_i \le 10^6)~.
Các số trên cùng một dòng ghi cách nhau một dấu cách.
Dữ liệu đầu ra
Gồm một số nguyên duy nhất là số lượng cập số thỏa mãn yêu cầu.
Ràng buộc dữ liệu
- Có 50% số test ứng với 50% số điểm có ~n \le 10^3~;
- 50% số test còn lại ứng với 50% số điểm không có ràng buộc gì thêm.
Ví dụ
Ví dụ 1
INPUT
5 8
3 2 6 5 8
OUTPUT
2
Giải thích: Có ~2~ cặp số thỏa mãn là: ~(3, 5), (2, 6)~.
Ví dụ 2
INPUT
8 10
3 9 1 6 7 7 3 4
OUTPUT
6
Giải thích: Có ~6~ cặp số thỏa mãn là: ~(3,7), (3,7), (9,1), (6,4), (7,3), (7,3)~.
Bình luận