Submission #1172875

#TimeUsernameProblemLanguageResultExecution timeMemory
1172875Troll321Growing Vegetables is Fun 5 (JOI24_vegetables5)C++20
30 / 100
184 ms2592 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const ll MAXN = 3e5 + 5; const ll MAX = 1e18; ll n, ans = MAX, val[MAXN], red[MAXN], blue[MAXN]; ll solve(ll l) { ll out = 0; vector<ll> rv, bv; for (int i = 1; i < l; ++i) { rv.push_back(val[i]); } for (int i = l; i < l+n; ++i) { bv.push_back(val[i]); } for (int i = l+n; i <= 2*n; ++i) { rv.push_back(val[i]); } sort(rv.begin(), rv.end()); sort(bv.begin(), bv.end()); for (int i = 0; i < n; ++i) { out = max(out, abs(rv[i]-red[i+1])); out = max(out, abs(bv[i]-blue[i+1])); } ll out2 = 0; for (int i = 0; i < n; ++i) { out2 = max(out2, abs(bv[i]-red[i+1])); out2 = max(out2, abs(rv[i]-blue[i+1])); } return min(out, out2); } int main() { cin >> n; for (int i = 1; i <= 2*n; ++i) { cin >> val[i]; } for (int i = 1; i <= n; ++i) { cin >> red[i]; } for (int i = 1; i <= n; ++i) { cin >> blue[i]; } sort(red+1, red+1+n); sort(blue+1, blue+1+n); for (int i = 1; i <= n+1; ++i) { ans = min(ans, solve(i)); } cout << ans << "\n"; 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...