답안 #1091143

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1091143 2024-09-19T23:32:54 Z Pajaraja Sprinklers (CEOI24_sprinklers) C++17
9 / 100
72 ms 3412 KB
#include <bits/stdc++.h>
#define MAXN 100007
using namespace std;
string res;
bool bt[MAXN];
int s[MAXN],f[MAXN],n,m;
bool check(int k){
    res.clear();
    int d=0;
    for(int i=0;i<n;i++) {
        if(d==m) {
            res+='L';
            continue;
        }
        if(f[d]<s[i]) {
            if(f[d]<s[i]-k) return false;
            if(i!=n-1 && s[i+1]-k<=f[d] && bt[i])
            {
                res+="RL";
                while(d<m && f[d]<=s[i]+k) d++;
                i++;
                continue;
            }
            res+='L';
            while(d<m && f[d]<=s[i]) d++;
            continue;
        }
        if(f[d]>=s[i]){
            res+='R';
            while(d<m && f[d]<=s[i]+k) d++;
        }
    }
    if(d==m) return true;
    return false;
}
int binarna(int l,int r)
{
    if(l==r) return l;
    int s=(l+r)/2;
    if(check(s)) return binarna(l,s);
    return binarna(s+1,r);
}
int main() {
    cin>>n>>m;
    for(int i=0;i<n;i++) cin>>s[i];
    for(int i=0;i<m;i++) cin>>f[i];
    int d=-1;
    for(int i=0;i<m;i++) {
        while(d<m && s[d+1]>=f[i]) d++;
        if(d>=0 && d<m && s[d]!=f[i]) bt[d]=true;
    }
    int ans=binarna(1,1000000000);
    if(!check(ans)) {
        cout<<-1;
        return 0;
    }
    cout<<ans<<endl<<res<<endl;
}
# 결과 실행 시간 메모리 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 21 ms 1372 KB Correct
3 Correct 0 ms 348 KB Correct
4 Correct 25 ms 1632 KB Correct
5 Correct 25 ms 1620 KB Correct
6 Correct 1 ms 348 KB Correct
7 Correct 0 ms 348 KB Correct
8 Correct 5 ms 604 KB Correct
9 Correct 0 ms 348 KB Correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Correct
2 Correct 26 ms 1620 KB Correct
3 Correct 5 ms 600 KB Correct
4 Correct 64 ms 3352 KB Correct
5 Correct 63 ms 3412 KB Correct
6 Correct 0 ms 348 KB Correct
7 Correct 0 ms 348 KB Correct
8 Correct 52 ms 3236 KB Correct
9 Correct 53 ms 3412 KB Correct
10 Correct 56 ms 3408 KB Correct
11 Correct 31 ms 1876 KB Correct
12 Correct 36 ms 2128 KB Correct
13 Correct 49 ms 2384 KB Correct
14 Correct 45 ms 2508 KB Correct
15 Correct 49 ms 2780 KB Correct
16 Correct 39 ms 2136 KB Correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Correct
2 Correct 0 ms 348 KB Correct
3 Correct 0 ms 348 KB Correct
4 Correct 1 ms 348 KB Correct
5 Incorrect 1 ms 348 KB User solution is worse than jury's solution
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Correct
2 Correct 33 ms 1876 KB Correct
3 Incorrect 72 ms 3360 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 0 ms 348 KB Correct
3 Correct 21 ms 1372 KB Correct
4 Correct 0 ms 348 KB Correct
5 Correct 25 ms 1632 KB Correct
6 Correct 25 ms 1620 KB Correct
7 Correct 1 ms 348 KB Correct
8 Correct 0 ms 348 KB Correct
9 Correct 5 ms 604 KB Correct
10 Correct 0 ms 348 KB Correct
11 Correct 26 ms 1620 KB Correct
12 Correct 5 ms 600 KB Correct
13 Correct 64 ms 3352 KB Correct
14 Correct 63 ms 3412 KB Correct
15 Correct 0 ms 348 KB Correct
16 Correct 0 ms 348 KB Correct
17 Correct 52 ms 3236 KB Correct
18 Correct 53 ms 3412 KB Correct
19 Correct 56 ms 3408 KB Correct
20 Correct 31 ms 1876 KB Correct
21 Correct 36 ms 2128 KB Correct
22 Correct 49 ms 2384 KB Correct
23 Correct 45 ms 2508 KB Correct
24 Correct 49 ms 2780 KB Correct
25 Correct 39 ms 2136 KB Correct
26 Correct 0 ms 348 KB Correct
27 Correct 1 ms 348 KB Correct
28 Incorrect 1 ms 348 KB User solution is worse than jury's solution
29 Halted 0 ms 0 KB -