#include<bits/stdc++.h>
using namespace std;
#define int long long
const int INF = 4e9;
int n,m;
int s[100005],f[100005];
char dir[100005];
map<int,int> mp;
bool verif(int k)
{
    vector<bool> used(n+2,0);
    int ps=1,pf=1;
    while(ps<=n || pf<=m)
    {
        if(ps<=n && (pf>m || s[ps] < f[pf]))
        {
            if(!used[ps])
            {
                dir[ps] = 'R';
                while(pf<=m && f[pf] <= s[ps] + k)
                    pf++;
            }
            ps++;
        }
        else
        {
            if(ps>n || f[pf] < s[ps] - k)
                return 0;
            int cur = ps;
            while(cur+1<=n && f[pf] >= s[cur+1] - k)
            {
                cur++;
            }
            assert(used[cur] == 0);
            used[cur] = 1;
            dir[cur] = 'L';
            while(f[pf] <= s[cur])
                pf++;
        }
    }
    return 1;
}
signed main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        cin>>s[i];
        mp[s[i]]++;
    }
    for(int i=1;i<=m;i++)
    {
        cin>>f[i];
        if(mp[f[i]])
        {
            i--;
            m--;
        }
    }
    if(!verif(INF))
    {
        cout<<-1;
        return 0;
    }
    int st=0,dr=INF,ans=INF;
    while(st<=dr)
    {
        int mij=(st+dr)/2;
        if(verif(mij))
        {
            ans = mij;
            dr = mij-1;
        }
        else
            st = mij+1;
    }
    verif(ans);
    cout<<ans<<"\n";
    for(int i=1;i<=n;i++)
        cout<<dir[i];
    return 0;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |