#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned int ui; const ll mod = 1000000007; const ll INF = (ll)1000000007 * 1000000007; typedef pair P; #define stop char nyaa;cin>>nyaa; #define rep(i,n) for(int i=0;i=0;i--) #define Rep(i,sta,n) for(int i=sta;i=sta;i--) #define rep1(i,n) for(int i=1;i<=n;i++) #define per1(i,n) for(int i=n;i>=1;i--) #define Rep1(i,sta,n) for(int i=sta;i<=n;i++) typedef long double ld; const ld eps = 1e-8; const ld pi = acos(-1.0); typedef pair LP; int dx[4]={1,-1,0,0}; int dy[4]={0,0,1,-1}; int n; ll a[200010],S[200010]; ll f(int s,int t){ return S[n]-S[n-t]+S[s]-S[s-t]-2*t*a[s]; } ll g(int s,int t){ if(t==0) return INF; return f(s,t)-f(s,t-1); } void solve(){ cin >> n; rep(i,n){ cin >> a[i]; //S[i+1]=S[i]+a[i]; } sort(a,a+n); rep(i,n){ S[i+1]=S[i]+a[i]; } ll ans=0; rep(s,n){ int l=0,r=min(n-s-1,s)+1; while(r-l>1){ int mid=(l+r)/2; if(g(s,mid)>=0)l=mid; else r=mid; } ans=max(ans,f(s,l)); } cout << ans << endl; } int main(){ ios::sync_with_stdio(false); cin.tie(0); cout << fixed << setprecision(50); solve(); }