#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define pb push_back
#define en cout << '\n'
#define vi vector<int>
#define pii pair<int, int>
#define ff first
#define ss second
#define all(x) x.begin(),x.end()
const int N = 1e5+100;
int n, m, a[N], b[N];
void solve(){
cin >> n >> m;
vector<pii> v;
for(int i = 1; i <= n; ++i){
cin >> a[i];
v.pb({a[i], 1});
}
for(int i = 1; i <= m; ++i){
cin >> b[i];
v.pb({b[i], 0});
}
sort(all(v));
string soll;
int l = 0, r = 1e9, ans = -1;
while(l <= r){
int k = l+r>>1;
string sol = "";
bool ok = 1;
int last = -1e9, last_not_covered = 2e9;
for(int i = 0; i < n+m; ++i){
if(v[i].ss == 0){
if(last >= v[i].ff){
continue;
}
last_not_covered = min(last_not_covered, v[i].ff);
}else{
if(last_not_covered != 2e9){
if(v[i].ff - last_not_covered > k){
ok = 0;
break;
}
last_not_covered = 2e9;
sol += 'L';
}else{
last = v[i].ff + k;
sol += 'R';
}
}
}
if(last_not_covered != 2e9) ok = 0;
if(ok){
ans = k;
soll = sol;
r = k - 1;
}else{
l = k + 1;
}
}
cout << ans << '\n';
if(ans != -1){
cout << soll;
}
}
int main(){
cin.tie(0); ios::sync_with_stdio(0);
solve();
return 0;
}
Compilation message
Main.cpp: In function 'void solve()':
Main.cpp:30:12: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
30 | int k = l+r>>1;
| ~^~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
348 KB |
Correct |
2 |
Correct |
0 ms |
348 KB |
Correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Correct |
2 |
Correct |
10 ms |
2544 KB |
Correct |
3 |
Incorrect |
0 ms |
348 KB |
User solution is worse than jury's solution |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
348 KB |
Correct |
2 |
Correct |
17 ms |
2780 KB |
Correct |
3 |
Correct |
3 ms |
860 KB |
Correct |
4 |
Correct |
47 ms |
5060 KB |
Correct |
5 |
Correct |
48 ms |
5012 KB |
Correct |
6 |
Correct |
1 ms |
344 KB |
Correct |
7 |
Correct |
0 ms |
348 KB |
Correct |
8 |
Correct |
27 ms |
5076 KB |
Correct |
9 |
Correct |
34 ms |
5076 KB |
Correct |
10 |
Correct |
50 ms |
5064 KB |
Correct |
11 |
Correct |
20 ms |
3004 KB |
Correct |
12 |
Correct |
21 ms |
3376 KB |
Correct |
13 |
Correct |
38 ms |
4308 KB |
Correct |
14 |
Correct |
38 ms |
4260 KB |
Correct |
15 |
Correct |
35 ms |
4312 KB |
Correct |
16 |
Correct |
34 ms |
4056 KB |
Correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
348 KB |
Correct |
2 |
Correct |
0 ms |
348 KB |
Correct |
3 |
Incorrect |
1 ms |
348 KB |
User solution is worse than jury's solution |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
348 KB |
Correct |
2 |
Incorrect |
19 ms |
2776 KB |
User solution is worse than jury's solution |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
348 KB |
Correct |
2 |
Correct |
0 ms |
348 KB |
Correct |
3 |
Correct |
10 ms |
2544 KB |
Correct |
4 |
Incorrect |
0 ms |
348 KB |
User solution is worse than jury's solution |
5 |
Halted |
0 ms |
0 KB |
- |