提交不了啊啊
2025-10-03 10:58:59
发布于:内蒙古
2阅读
0回复
0点赞
题解:
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> a(n);
for (int i = 0; i < n; ++i) {
cin >> a[i];
}
vector<int> prefix(n + 1, 0);
for (int i = 1; i <= n; ++i) {
prefix[i] = prefix[i - 1] + (a[i - 1] < 0 ? 1 : 0);
}
long long negative = 0, positive = 0;
int even = 1, odd = 0; // 初始时prefix[0] = 0(偶数)
for (int i = 1; i <= n; ++i) {
int current = prefix[i];
if (current % 2 == 0) {
positive += even;
negative += odd;
even++;
} else {
positive += odd;
negative += even;
odd++;
}
}
cout << negative << " " << positive << endl;
return 0;
}
这里空空如也



有帮助,赞一个