每个测试的时间限制:2 秒
内存限制:256 兆字节
题目描述
给定一个由 n 个非零整数(即 ai=0)组成的序列 a1,a2,…,an。
你需要计算以下两个值:
有多少对下标 (l,r)(l≤r),使得 al⋅al+1…ar−1⋅ar 为 负;
有多少对下标 (l,r)(l≤r),使得 al⋅al+1…ar−1⋅ar 为 正。
输入格式
第一行包含一个整数 n(1≤n≤2⋅105)——序列中元素的数量。
第二行包含 n 个整数 a1,a2,…,an(−109≤ai≤109;ai=0)——序列的元素。
输出格式
输出两个整数——乘积为负的子段数量和乘积为正的子段数量。
5
5 -3 3 -1 1
8 7
数据规模与约定
对于 100% 的数据,0≤n≤107。