// 判断下标是处理奇数和偶数的方法
// 找出最大和最小之后还需要判断,这一步是关键的,保证最后的和是正的。
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
const int N=1e5+9;
ll a[N],sum=0,mmin=2e18,mmax=0;
int n;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
a[i]=abs(a[i]);
if(i&1)//奇数
{
sum+=a[i];
mmin=min(mmin,a[i]);//记录最小值
}
else
{
sum-=a[i];
mmax=max(mmax,a[i]);//记录最大值
}
}
//
if(mmax>mmin)
sum+=2*(mmax-mmin);
cout<<sum<<endl;
return 0;
}
珠宝的最大交替和
于 2025-01-29 20:10:37 首次发布