3.数学奇才【算法赛】 - 蓝桥云课 (lanqiao.cn)
这是我的代码,过了样例:
js
#include<iostream>
#include<vector>
using namespace std;
typedef long long LL;
const int N = 1e9 + 5;
const LL T = -1e9 + 10;
LL sum = 0;
vector<LL> temp;
int cnt = 0;
int flag = 0;
int max_n = -1;
int a[100000005];
int main() {
int n; cin >> n;
for (int i = 0; i <n; i++)cin >> a[i];
for (int i = 0; i < n; i++) {
if (a[i] < 0) {
cnt++;
}
else if (a[i] > 0) {
temp.push_back(cnt);
cnt = 0;
}
}
if (temp.size() > 0) { // 确保 temp 不为空
int index = 0;
for (int i = 0; i < temp.size(); i++) {
if (temp[i] > max_n) {
max_n = temp[i];
}
}
for (int i = 0; i < max_n; i++)
{
a[i] *= -1;
}
for (auto& it :a)sum += it;
}
cout << sum << endl;
return 0;
}
这是人家的代码:
js
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
int main() {
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int n; cin >> n;
vector<ll> a(n);
ll sum=0;
for (int i = 0; i < n; i++) {
cin >> a[i];
sum+=abs(a[i]);
}
cout<<sum<<endl;
return 0;
}