#include<bits/stdc++.h>
#define ll long long
#define pb push_back
#define pii pair<int,int>
#define f first
#define s second
#define all(x) x.begin(),x.end()
#define ub(a,b) upper_bound(a.begin(),a.end(),b)-a.begin();
#define lb(a,b) lower_bound(a.begin(),a.end(),b)-a.begin();
#define vi vector<int>
#define vll vector<ll>
#define pll pair<ll,ll>
#define sz(x) x.size()
#define T pair<double,string>
using namespace std;
const int mxn=2e5+5;
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);
int n,m;cin>>n>>m;
int s[n+1]={0},f[m+1]={0};
for(int i=1;i<=n;i++)cin>>s[i];for(int i=1;i<=m;i++)cin>>f[i];
int l=0,r=1e9+1;
int lr[n+1]={0};
while(l<r){
int k=(l+r)>>1;
int idx=1;memset(lr,0,sizeof lr);
bool ch=0;
for(int i=1;i<=n;i++){
while(idx<=m&&s[i]-k<=f[idx]&&f[idx]<=s[i])idx++,lr[i]=1;
while(idx<=m&&s[i]<=f[idx]&&f[idx]<=s[i]+k&&lr[i]!=1)idx++,lr[i]=2;
if(idx<=m&&s[i]-k>f[idx]&&f[idx]<=s[i])ch=1;
if(idx<=m&&s[i]+k<f[idx]&&f[idx]>=s[i]&&i==n)ch=1;
}if(idx!=m+1)ch=1;
if(ch)l=k+1;
else r=k;
}if(l==1e9+1){cout<<-1;return 0;}
memset(lr,0,sizeof lr);int idx=1;
for(int i=1;i<=n;i++){
while(idx<=m&&s[i]-l<=f[idx]&&f[idx]<=s[i])idx++,lr[i]=1;
while(idx<=m&&s[i]<=f[idx]&&f[idx]<=s[i]+l&&lr[i]!=1)idx++,lr[i]=2;
}cout<<l<<'\n';
for(int i=1;i<=n;i++)cout<<(lr[i]==1?"L":"R");
}
Compilation message
Main.cpp: In function 'int main()':
Main.cpp:21:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
21 | for(int i=1;i<=n;i++)cin>>s[i];for(int i=1;i<=m;i++)cin>>f[i];
| ^~~
Main.cpp:21:36: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
21 | for(int i=1;i<=n;i++)cin>>s[i];for(int i=1;i<=m;i++)cin>>f[i];
| ^~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Correct |
2 |
Correct |
1 ms |
348 KB |
Correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
348 KB |
Correct |
2 |
Correct |
11 ms |
1372 KB |
Correct |
3 |
Incorrect |
0 ms |
344 KB |
User solution is worse than jury's solution |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Correct |
2 |
Correct |
10 ms |
1600 KB |
Correct |
3 |
Correct |
3 ms |
600 KB |
Correct |
4 |
Correct |
48 ms |
3548 KB |
Correct |
5 |
Correct |
31 ms |
3420 KB |
Correct |
6 |
Correct |
0 ms |
348 KB |
Correct |
7 |
Correct |
0 ms |
348 KB |
Correct |
8 |
Correct |
37 ms |
3648 KB |
Correct |
9 |
Correct |
36 ms |
3628 KB |
Correct |
10 |
Correct |
39 ms |
3528 KB |
Correct |
11 |
Correct |
31 ms |
2136 KB |
Correct |
12 |
Correct |
24 ms |
2332 KB |
Correct |
13 |
Correct |
26 ms |
2640 KB |
Correct |
14 |
Correct |
43 ms |
2768 KB |
Correct |
15 |
Correct |
30 ms |
2904 KB |
Correct |
16 |
Correct |
21 ms |
2392 KB |
Correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Correct |
2 |
Correct |
1 ms |
348 KB |
Correct |
3 |
Incorrect |
0 ms |
344 KB |
User solution is worse than jury's solution |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Correct |
2 |
Incorrect |
11 ms |
1764 KB |
User solution is worse than jury's solution |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Correct |
2 |
Correct |
1 ms |
348 KB |
Correct |
3 |
Correct |
11 ms |
1372 KB |
Correct |
4 |
Incorrect |
0 ms |
344 KB |
User solution is worse than jury's solution |
5 |
Halted |
0 ms |
0 KB |
- |