Submission #472379

#TimeUsernameProblemLanguageResultExecution timeMemory
472379AbdoMoCipele (COCI18_cipele)C++17
9 / 90
1096 ms5264 KiB
#include<bits/stdc++.h>
#define int long long
#define ll long long
#define pb push_back
const int mod = 1e9+7;
using namespace std;
void solve(){
    int n,m;
    cin>>n>>m;
    vector<int>v1,v2;
    for(int i=0;i<n;i++)
    {
        int x;
        cin>>x;
        v1.pb(x);
    }
    for(int i=0;i<m;i++)
    {
        int x;
        cin>>x;
        v2.pb(x);
    }
    int arr[n+m],arr2[n+m];
    if(n>m)
    {
        for(int i=0;i<n;i++)
        {
            arr2[i]=v1[i];
        }
        for(int i=0;i<m;i++)
        {
            arr[i]=v2[i];
        }
        swap(n,m);
    }
    else
    {
        for(int i=0;i<n;i++)
        {
            arr[i]=v1[i];
        }
        for(int i=0;i<m;i++)
        {
            arr2[i]=v2[i];
        }
    }
    sort(arr,arr+n);
    sort(arr2,arr2+m);
    vector<pair<int,int>>dif;
    for(int i=0;i<m;i++)
    {
        dif.pb({0,i});
        for(int j=0;j<n;j++)
        {
            dif[i].first=max(dif[i].first,abs(arr[j]-arr2[i]));
        }

    }
    bool vis[n+m+100]={};
    sort(dif.rbegin(),dif.rend());

    for(int i=0;i<abs(n-m);i++)
    {
        vis[dif[i].second]=1;
    }
    /*for(int i=0;i<m;i++)
    {
        //cout<<dif[i].first<<" "<<dif[i].second<<endl;
        cout<<vis[i]<<" ";
    }*/
    int ans=0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            if(vis[j])continue;
            ans=max(ans,abs(arr[i]-arr2[j]));
            vis[j]=1;
            break;
        }
    }
    cout<<ans<<endl;

}
int32_t main(){
	int t=1;
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    //cin>>t;
	while(t--){solve();}
	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...
#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...