Đếm cặp 1

Xem dạng PDF

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:
codeforces
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

Hãy đọc nội quy trước khi bình luận.



  • 0
    lam123  đã bình luận lúc 26, Tháng 9, 2024, 10:05

    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++;

    }