#include <iostream>
#include <algorithm>
#include <stack>
#include <queue>
#include <vector>
#include <map>
#include <iomanip>
using namespace std;
typedef long long ll;
const int INF = 1e9;
int main() {
ios::sync_with_stdio(false); cin.tie(NULL);
int N; cin >> N;
vector<int> A(2*N), B(N), C(N);
for(int i=0;i<2*N;i++) cin >> A[i];
for(int i=0;i<N;i++) cin >> B[i];
for(int i=0;i<N;i++) cin >> C[i];
sort(B.begin(), B.end());
sort(C.begin(), C.end());
int ans = INF;
for(int i=0;i<N;i++) {
vector<int> v1, v2;
for(int j=i;j<i+N;j++) v1.push_back(A[j]);
for(int j=0;j<i;j++) v2.push_back(A[j]);
for(int j=i+N;j<2*N;j++) v2.push_back(A[j]);
sort(v1.begin(), v1.end());
sort(v2.begin(), v2.end());
// for(int i=0;i<N;i++) cout << B[i] << " "; cout << "\n";
// for(int i=0;i<N;i++) cout << C[i] << " "; cout << "\n";
// for(int i=0;i<N;i++) cout << v1[i] << " "; cout << "\n";
// for(int i=0;i<N;i++) cout << v2[i] << " "; cout << "\n";
//
// cout << "\n";
int mx = 0;
for(int i=0;i<N;i++) {
mx = max(mx, abs(v1[i] - B[i]));
mx = max(mx, abs(v2[i] - C[i]));
}
ans = min(ans, mx);
mx = 0;
for(int i=0;i<N;i++) {
mx = max(mx, abs(v1[i] - C[i]));
mx = max(mx, abs(v2[i] - B[i]));
}
ans = min(ans, mx);
}
cout << ans;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |