[Nam Định - TS10 - 2024] Bài 4: Bộ ba tốt
Xem dạng PDF
Gửi bài giải
Điểm:
10,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, PyPy, Python, Scratch, TEXT
Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Cho một dãy số ~(a_n)~ gồm ~n~ số nguyên ~a_1, a_2, \dots, a_n~. Dãy số ~(b_n)~ được tạo ra từ ~(a_n)~ bằng cách đổi dấu tất cả các phần tử trong dãy số ~(a_n)~. Một bộ số ~(a_i, a_j, b_k)~ được gọi là bộ ba tốt nếu ~a_i + a_j + b_k = 0~, trong đó ~a_i, a_j~ (~i \neq j~) là các phần tử trong dãy số ~(a_n)~, ~b_k~ là phần tử trong dãy số ~(b_n)~.
Yêu cầu: Tính số lượng các bộ ba tốt thỏa mãn chúng không trùng nhau. Lưu ý: Bộ ba tốt ~(a_{i1}, a_{j1}, b_{k1})~ và ~(a_{i2}, a_{j2}, b_{k2})~ được gọi là trùng nhau khi và chỉ khi cặp số ~(a_{i1}, a_{j1})~ và ~(a_{i2}, a_{j2})~ là hoán vị của nhau và ~k_1 = k_2~.
Input
- Dòng thứ nhất là số nguyên dương ~n~ (~3 \le n \le 10^3~).
- Dòng thứ hai gồm ~n~ số nguyên ~a_1, a_2, \dots, a_n~ (~-10^9 \le a_i \le 10^9~), các số cách nhau bởi dấu cách.
Output
- Đưa ra số lượng bộ ba tốt thỏa mãn yêu cầu. Trong trường hợp không tồn tại bộ ba tốt thì đưa ra số 0.
Sample Input 1
5
1 2 3 5 68
Sample Output 1
2
Bình luận