提交时间:2025-11-27 20:09:43

运行 ID: 39001

#include<bits/stdc++.h> #define int long long using namespace std; const int N=2e4+10; int n,a[N],mx[N],mn[N],ans=1e18; bool cmp(int x,int y) { return x>y; } void f() { for(int i=1;i<=n/2;i++) { int mx=-1e18,mn=1e18,l=i+1,r=n; for(int j=1;j<=i;j++) { if(a[j]<0) { mx=max(mx,a[j]+a[r]); mn=min(mn,a[j]+a[r]); r--; } else { mx=max(mx,a[j]+a[l]); mn=min(mn,a[j]+a[l]); l++; } } for(int j=l;j<=r;j++) { mx=max(mx,a[j]); mn=min(mn,a[j]); } ans=min(ans,mx-mn); } } signed main() { //freopen("elf.in","r",stdin); //freopen("elf.out","w",stdout); cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } sort(a+1,a+1+n); f(); cout<<ans<<"\n"; //cout<<(double)clock()/CLOCKS_PER_SEC; return 0; } /* 3 -1 1 2 */