1 //Codeforces Round #500 (Div. 2) [based on EJOI]C. Photo of The Sky 2 //解决用一个最小矩形,把所给的不定点围起来 3 //点的横纵坐标都是不确定的,尽量让这些点的横坐标连着最近,纵坐标连着最近,这是决策 4 //但这类题记住, 首先把所有数升排序,然后,用最大和最小值 最为最左边和最右边的横坐标 5 // 之后再筛选一个最小的高度 6 #include<bits/stdc++.h> 7 #define ll long long 8 using namespace std; 9 const int maxn=1e6+10; 10 ll a[maxn]; 11 int main(){ 12 int n; 13 ll res; 14 cin>>n; 15 for(int i=0;i<2*n;i++){ 16 scanf("%lld",&a[i]); 17 } 18 sort(a,a+2*n); 19 20 res=(a[2*n-1]-a[n])*(a[n-1]-a[0]); //暂时给值 21 for(int i=1;i<n;i++){ 22 res=min(res, (a[2*n-1]-a[0])*(a[n-1+i]-a[i]) ); //已经横向最长了,寻找纵向最短长度 23 } 24 cout<<res<<endl; 25 }