给定一个长度为 nnn 且不包含 000 的整数序列 a1,a2,…,ana_1,a_2,…,a_na1,a2,…,an。
请你计算以下两值:
输入格式
第一行一个整数 nnn。
第二行包含 nnn 个整数 a1,…,ana_1,…,a_na1,…,an。
输出格式
共一行,输出单个空格隔开的两个整数,分别表示负的索引对数和正的索引对数。
数据范围
1≤n≤2×105,1≤n≤2×10^5,1≤n≤2×105,
−109≤ai≤109,ai≠0。−10^9≤ai≤10^9,ai≠0。−109≤ai≤109,ai=0。
输入样例1:
5
5 -3 3 -1 1
输出样例1:
8 7
输入样例2:
10
4 2 -4 3 1 2 -4 3 2 3
输出样例2:
28 27
输入样例3:
5
-1 -2 -3 -4 -5
输出样例3:
9 6
#includeusing namespace std;typedef long long LL;int main(){int n;scanf("%d", &n);LL rp = 0, rn = 0;int sp = 1, sn = 0, s = 1;while(n--){int a;scanf("%d", &a);if(a < 0) s *= -1;if(s > 0) rp += sp, rn += sn, sp++;else rp += sn, rn += sp, sn++;}printf("%lld %lld\n", rn, rp);return 0;
}
上一篇:跪求描写现代女孩卷发的句子
下一篇:作文关于委屈的事的结尾五十