题解
2023-08-17 14:28:01
发布于:广东
77阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> wealth(n);
for (int i = 0; i < n; i++) {
cin >> wealth[i];
}
int totalWealth = 0;
for (int i = 0; i < n; i++) {
totalWealth += wealth[i];
}
int Wealth1 = wealth[0];
int Wealth2 = wealth[n - 1];
int remainingWealth = totalWealth - Wealth1 - Wealth2;
if (Wealth1 == Wealth2) {
totalWealth = remainingWealth;
}
int leftIndex = 0;
int rightIndex = n - 1;
while (leftIndex < rightIndex) {
if (Wealth1 == Wealth2) {
totalWealth = remainingWealth;
leftIndex++;
Wealth1 += wealth[leftIndex];
remainingWealth -= wealth[leftIndex];
}
while (leftIndex < rightIndex && Wealth1 < Wealth2) {
leftIndex++;
Wealth1 += wealth[leftIndex];
remainingWealth -= wealth[leftIndex];
}
while (leftIndex < rightIndex && Wealth1 > Wealth2) {
rightIndex--;
Wealth2 += wealth[rightIndex];
remainingWealth -= wealth[rightIndex];
}
}
cout << totalWealth << endl;
return 0;
}
终于,写出来了……(虽然是大循环里嵌俩小循环的劣质代码,但我还是激动到内牛满面)
全部评论 1
呜呜呜,看到一串长代码,还以为这道题这么难,结果,麻辣毛蛋的,说,整形变量写那么长,谁教的!?
1周前 来自 江西
0某神秘D姓男子
这个是之前拿AI水的1周前 来自 广东
0骗你的其实当时DS都没发布
1周前 来自 广东
0so?
1周前 来自 江西
0








有帮助,赞一个