trang chủ / đề bài / vt_ts10_22_c

Đếm cặp có tổng bằng K

Đề bài

Mô tả

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 a1,a2,a3,…,an.

Yêu cầu: Cho biết số lượng cách chọn hai phần tử (ai,aj) bất kì có trong n phần tử của dãy A sao cho ai+aj=K (1≤i<j≤n).

Dữ liệu vào

  • Dòng thứ nhất chứa 2 số nguyên dương n,K (2≤n≤105, 1≤K≤2·109) 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 ai (1≤ai≤109).

Dữ liệu ra

Ghi ra một số nguyên không âm duy nhất là số cách chọn thỏa mãn yêu cầu của bài toán (có thể bằng 0).

Ràng buộc

  • 2≤n≤105.
  • 1≤K≤2·109.
  • 1≤ai≤109, các ai đôi một phân biệt.

Subtasks

  • Subtask 1 (40% số điểm): 2≤n≤103, 1≤ai≤32000.
  • Subtask 2 (40% số điểm): 2≤n≤105, 1≤ai≤106.
  • Subtask 3 (20% số điểm): 2≤n≤105, 1≤ai≤109.

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: (a1,a3), (a2,a5), (a4,a7) vì a1+a3=1+11=12, a2+a5=5+7=12, a4+a7=4+8=12.
4 10
5
1
2
3
0 Ví dụ thêm. Không có cặp nào thỏa mãn: 5+5=10 nhưng phải chọn hai phần tử khác nhau (i<j), mà dãy chỉ có một phần tử bằng 5.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0