Submission #1317499

#TimeUsernameProblemLanguageResultExecution timeMemory
1317499benedict0724Growing Vegetables is Fun 5 (JOI24_vegetables5)C++20
30 / 100
5092 ms9540 KiB
#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 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...