Submission #472204

#TimeUsernameProblemLanguageResultExecution timeMemory
472204AbdoMoCipele (COCI18_cipele)C++17
18 / 90
70 ms5764 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;
bool comp(pair<int,int>&a ,pair<int,int>&b)
{
    if(a.first==b.first)
    {
        return a.second>b.second;
    }
    return a.first<b.first;

}
void solve()
{
    int n,m;
    cin>>n>>m;
    int arr[100000];
    multiset<int>ms;
    if(n<=m)
    {
        for(int i=0;i<n;i++)
        {
            cin>>arr[i];
        }
        for(int i=0;i<m;i++)
        {
            int x;
            cin>>x;
            ms.insert(x);
        }
        sort(arr,arr+n);
    }
    else
    {
        for(int i=0;i<n;i++)
        {
            int x;
            cin>>x;
            ms.insert(x);

        }
        for(int i=0;i<m;i++)
        {
            cin>>arr[i];
        }
        sort(arr,arr+m);
    }
    /*cout<<min(n,m)<<endl;
    for(int i=0;i<min(n,m);i++)
    {
        cout<<arr[i]<<" x ";
    }
    cout<<endl;
    for(auto i=ms.begin();i!=ms.end();i++)
    {
        cout<<*i<<" ";
    }
    cout<<endl;*/
    int ans=0;
    for(int i=0;i<min(n,m);i++)
    {
        int x = arr[i];
        auto it1=ms.upper_bound(x);
        auto it2=ms.upper_bound(x);
        if(it1!=ms.begin())
        {
            it1--;

        }
        if(it2!=ms.end())
        {
            if(abs(x-*it1)<=abs(x-*it2))
            {
                ans=max(ans,abs(x-*it1));
                ms.erase(it1);
            }
            else
            {
                ans=max(ans,abs(x-*it2));
                ms.erase(it2);
            }
        }
        else
        {
            ans=max(ans,abs(x-*it1));
            ms.erase(it1);
        }


    }
    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...