Submission #1347724

#TimeUsernameProblemLanguageResultExecution timeMemory
1347724WarinchaiGrowing Vegetables is Fun 5 (JOI24_vegetables5)C++20
30 / 100
5094 ms25768 KiB
#include<bits/stdc++.h>
#define int long long
using namespace std;

int inf=1e18;
int a[900005],b[900005],c[900005];
int l[900005],r[900005];
int n;

int solve(){
    vector<int>tb,tc;
    for(int i=1;i<=n;i++)tb.push_back(b[i]);
    for(int i=1;i<=n;i++)tc.push_back(c[i]);
    sort(tb.begin(),tb.end());
    sort(tc.begin(),tc.end());
    int ans=inf;
    for(int i=n;i<=2*n;i++){
        int st=i-n+1;
        vector<int>temp1;
        vector<int>temp2;
        for(int j=st;j<=i;j++)temp1.push_back(a[j]);
        for(int j=i+1;j<=i+n;j++)temp2.push_back(a[j]);
        sort(temp1.begin(),temp1.end());
        sort(temp2.begin(),temp2.end());
        int tans=0;
        for(int j=0;j<temp1.size();j++)tans=max(tans,abs(temp1[j]-tb[j]));
        for(int j=0;j<temp2.size();j++)tans=max(tans,abs(temp2[j]-tc[j]));
        /*cerr<<"i:"<<i<<"\n";
        for(auto x:temp1)cerr<<x<<" ";
        cerr<<"\n";
        for(auto x:temp2)cerr<<x<<" ";
        cerr<<"\n";*/
        ans=min(ans,tans);
    }
    return ans;
}

int32_t main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin>>n;
    for(int i=1;i<=2*n;i++)cin>>a[i];
    for(int i=1;i<=n;i++)cin>>b[i];
    for(int i=1;i<=n;i++)cin>>c[i];
    for(int i=2*n+1;i<=3*n;i++)a[i]=a[i-2*n];
    int ans=inf;
    ans=min(ans,solve());
    swap(b,c);
    //cerr<<"\n";
    ans=min(ans,solve());
    cout<<ans;
}
#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...