Điểm:
800
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Cho dãy số nguyên \(a_1,a_2,\ldots,a_n\).
Đếm số lượng cặp chỉ số \((i,j)\) với \(1 \leq i < j \leq n\) sao cho \(a_i\times a_j\) là một số nguyên dương
Input
- Dòng 1: \(n\) (\(n \leq 3\times 10^5\));
- Dòng 2: \(a_1,a_2,\ldots,a_n\) (\(-10^6 \leq a_i \leq 10^6\)).
Output
- Số cặp thỏa mãn yêu cầu đề bài.
Scoring
- Subtask 1 (40%): \(n \leq 10^3\);
- Subtask 2 (60%): Không ràng buộc gì hơn.
Example
Test 1
Input
5
-1 2 3 4 -5
Output
4
Bình luận
đếm số lượng số dương, âm xong cộng chúng lại với công thức (d*(d-1))/2
dang7rickroll
có người chơi else if kìa
bài này test hơi yếu, ko có số 0 thì phải
đếm số âm dương sau đó đùng kiến thức tổ hợp
HELP
ai rảnh coi giúp em bài này em làm cách dưới sao lại bị lỗi OverFlowError ạ em cảm ơn:
import math
n = int(input())
lit = list(map(int,(input().split())))
soam = list(filter(lambda x: x < 0, lit))
count1= len(soam)//2
soduong = list(filter(lambda x: x > 0, lit))
count2 = len(soduong)
gt = math.factorial(count2)
count3 = gt/2*math.factorial(count2-2)
print(count1+int(count3))
Hint
Đếm số âm và dương