Cặp dương

Xem PDF

Đ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


  • 1
    tuankaka    4:54 p.m. 16 Tháng 2, 2024

    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))

    1 phản hồi

    • 1
      penistone    8:53 p.m. 14 Tháng 11, 2023
      Hint

      Đếm số âm và dương

      1 phản hồi