#include<bits/stdc++.h>
#define ll long long
#define ldb long double
#define db double
#define fi first
#define se second
#define sza(a) (int)a.size()
#define pir pair<int,int>
#define pirll pair<ll,ll>
using namespace std;
const int maxn = 1e5 + 5;
const int inf = 1e9 + 4e7;
template <class t1,class t2> inline void maxi(t1 &x,t2 y){if (x < y) x = y;}
template <class t1,class t2> inline void mini(t1 &x,t2 y){if (x > y) x = y;}
template <class t1> inline void print_vector(const vector <t1> &vec){
for (t1 x : vec) cout << x << " ";cout << "\n";
}
int S[maxn],F[maxn];
bool state[maxn],a[maxn];
void input(int n,int m){
for (int i = 1 ; i <= n ; i++) cin >> S[i];
for (int i = 1 ; i <= m ; i++) cin >> F[i];
}
bool possible(int len,int n,int m){
int p = 1;
for (int i = 1 ; i <= n ; i++){
if (p > m) break;
int l,r,x = S[i];
//get range of l..r
if (F[p] < x){
l = x - len,r = x,state[i] = 0;
}
else{
l = x,r = x + len,state[i] = 1;
}
while (p <= m && F[p] >= l && F[p] <= r) p++;
}
return (p > m);
}
void state_to_answer(int n){
for (int i = 1 ; i <= n ; i++) a[i] = state[i];
}
bool solve(int n,int m){
int l = 0,r = inf,dist = inf;
while (l <= r){
int w = (l + r)/2;
if (possible(w,n,m)){
dist = w;
state_to_answer(n);
r = w - 1;
}
else l = w + 1;
}
if (dist >= inf) return 0;
//don't forget to return 1 after writing and tracing
cout << dist << "\n";
for (int i = 1 ; i <= n ; i++){
if (!a[i]) cout << "L";
if (a[i]) cout << "R";
}
return 1;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
// freopen("SPRINKLER.inp","r",stdin);
// freopen("SPRINKLER.out","w",stdout);
int n,m;
cin >> n >> m;
input(n,m);
if (!solve(n,m)) cout << -1;
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... |