[Buổi 4][Vòng lặp][ADV] Bài 3: Tích số dương
Tích số dương
Bối cảnh
Bài toán được mô tả qua yêu cầu và dữ liệu dưới đây.
Yêu cầu
FullHouse Dev đang nghiên cứu về các cặp số trong một mảng. Họ muốn tìm số lượng cặp số có tích dương trong mảng đó. Hãy giúp FullHouse Dev giải quyết bài toán này.
Input
- Dòng đầu tiên chứa số nguyên T — số lượng bộ test.
- Mỗi bộ test gồm 2 dòng:
- Dòng đầu tiên chứa số nguyên N — kích thước của mảng A.
- Dòng thứ hai chứa N số nguyên A₁, A₂, …, Aₙ cách nhau bởi dấu cách, biểu thị các phần tử của mảng A.
Output
- Với mỗi bộ test, in ra số lượng cặp chỉ số (i, j) thỏa mãn điều kiện đã cho.
Ràng buộc
- 1 ≤ T ≤ 1000
- 2 ≤ N ≤ 10⁵
- -10⁴ ≤ Aᵢ ≤ 10⁴
- Tổng của N trong tất cả các bộ test không vượt quá 2⋅10⁵
Ví dụ 1
Input
3
5
1 -3 0 2 -1
4
-1 -1 -1 -1
4
0 1 2 3
Output
2
6
3
Giải thích ví dụ
- Test 1: Các cặp thỏa mãn điều kiện là (1,4) và (2,5).
- Test 2: Các cặp thỏa mãn điều kiện là (1,2), (1,3), (1,4), (2,3), (2,4) và (3,4).
- Test 3: Các cặp thỏa mãn điều kiện là (2,3), (2,4) và (3,4).
Thông tin học tập
- Buổi: B04
- Concepts: loops, positive/negative counting, simple pair combinations
- Giới hạn kiến thức: B01-B04
- Time limit: 2 seconds
- Memory limit: 64 MB
- Point: 25
Comments