只要找到奇数位的最小值和偶数位的最大值交换即可,前提是奇数位的最小值不大于偶数位的最大值
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main()
{
int n; cin >> n;
ll maxa=-1, mina=1e9+1;
ll a = 0, sum = 0;
for (int i = 1; i <= n; i++){
cin >> a;
a=abs(a);
if (i % 2 == 0){
sum-=a;
maxa=max(maxa, a);
}
else{
sum+=a;
mina = min(mina, a);
}
}
if (maxa > mina) sum+=(maxa - mina) * 2;
cout<<sum;
return 0;
}