Số đoạn có tích âm/dương

Đề bài

Mô tả

Cho dãy a1,a2,…,an gồm n số nguyên khác 0.

Hãy đếm hai giá trị sau:

  1. Số cặp chỉ số (l,r) với l≤r sao cho al·al+1⋯ar là số âm.
  2. Số cặp chỉ số (l,r) với l≤r sao cho al·al+1⋯ar là số dương.

Dữ liệu vào

  • Dòng đầu tiên chứa một số nguyên n — số phần tử của dãy.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an.

Dữ liệu ra

In ra hai số nguyên: số đoạn con có tích âm và số đoạn con có tích dương.

Ràng buộc

  • 1≤n≤2·105
  • −109≤ai≤109 và ai≠0

Ví dụ

Input Output Giải thích
5
5 -3 3 -1 1
8 7 Có 8 đoạn con với tích âm và 7 đoạn con với tích dương trong tổng số 15 đoạn con.
5
-1 -2 -3 -4 -5
9 6 Đoạn con độ dài lẻ cho tích âm (3+1+1=5 đoạn dài 1, 3 đoạn dài 3, 1 đoạn dài 5, tổng 9); đoạn con độ dài chẵn cho tích dương.
10
4 2 -4 3 1 2 -4 3 2 3
28 27 Tổng cộng có 55 đoạn con, trong đó 28 đoạn có tích âm.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0