Submission #1131447

#TimeUsernameProblemLanguageResultExecution timeMemory
1131447huutuanGrowing Vegetables is Fun 5 (JOI24_vegetables5)C++20
30 / 100
5092 ms8684 KiB
#include<bits/stdc++.h>

using namespace std;

const int N=6e5+10;
int n, a[N], b[N], c[N];

int32_t main(){
   ios_base::sync_with_stdio(false);
   cin.tie(nullptr);
   cin >> n;
   for (int i=1; i<=n*2; ++i) cin >> a[i];
   for (int i=1; i<=n; ++i) cin >> b[i];
   for (int i=1; i<=n; ++i) cin >> c[i];
   sort(b+1, b+n+1);
   sort(c+1, c+n+1);
   int ans=INT_MAX;
   for (int i=1; i<=n+1; ++i){
      vector<int> v1(a+i, a+i+n);
      vector<int> v2(a+1, a+i);
      vector<int> v3(a+i+n, a+n*2+1);
      v2.insert(v2.end(), v3.begin(), v3.end());
      sort(v1.begin(), v1.end());
      sort(v2.begin(), v2.end());
      int cur=0;
      for (int j=1; j<=n; ++j) cur=max(cur, abs(v1[j-1]-b[j]));
      for (int j=1; j<=n; ++j) cur=max(cur, abs(v2[j-1]-c[j]));
      ans=min(ans, cur);
      cur=0;
      for (int j=1; j<=n; ++j) cur=max(cur, abs(v1[j-1]-c[j]));
      for (int j=1; j<=n; ++j) cur=max(cur, abs(v2[j-1]-b[j]));
      ans=min(ans, cur);
   }
   cout << ans;
   return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...