https://codeforces.com/gym/580226/problem/I
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define lowbit(x) x&(-x)
using ll = long long;
using pii = pair<int, int>;
const double PI = acos(-1);
const int N = 5e5 + 10;
const int mod = 1e9 + 7;
ll a[N];
void solve() {
int n;cin>>n;
ll sum=0;
ll mi=1e18;//1e18来比较
ll ma=-1e18;
bool flag1=0,flag2=0;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]<0) flag1=1;
if(a[i]>0) flag2=1;
sum+=abs(a[i]);
mi=min(mi,a[i]);
ma=max(ma,a[i]);
}
if(n==1) {//要特判
cout<<a[1];
return;
}
if(flag1==1&&flag2==1){
cout<<sum;
}
else if(flag1==1&&flag2==0){
cout<<sum+2*ma;
}
else if(flag1==0&&flag2==1){
cout<<sum-2*mi;
}
else cout<<0;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
int T = 1;
// cin>>T;
while (T--) {
solve();
}
return 0;
}
浙公网安备 33010602011771号