답안 #1091144

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1091144 2024-09-19T23:35:13 Z Pajaraja Sprinklers (CEOI24_sprinklers) C++17
9 / 100
71 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<n && s[d+1]>=f[i]) d++;
        if(d>=0 && d<n && 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 1736 KB Correct
5 Correct 25 ms 1628 KB Correct
6 Correct 0 ms 344 KB Correct
7 Correct 0 ms 344 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 28 ms 1616 KB Correct
3 Correct 5 ms 604 KB Correct
4 Correct 63 ms 3204 KB Correct
5 Correct 68 ms 3292 KB Correct
6 Correct 0 ms 348 KB Correct
7 Correct 0 ms 348 KB Correct
8 Correct 55 ms 3412 KB Correct
9 Correct 55 ms 3388 KB Correct
10 Correct 56 ms 3404 KB Correct
11 Correct 32 ms 1872 KB Correct
12 Correct 37 ms 2260 KB Correct
13 Correct 40 ms 2368 KB Correct
14 Correct 56 ms 2572 KB Correct
15 Correct 49 ms 2640 KB Correct
16 Correct 39 ms 2280 KB Correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Correct
2 Correct 0 ms 348 KB Correct
3 Correct 1 ms 344 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 32 ms 1844 KB Correct
3 Incorrect 71 ms 3408 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 1736 KB Correct
6 Correct 25 ms 1628 KB Correct
7 Correct 0 ms 344 KB Correct
8 Correct 0 ms 344 KB Correct
9 Correct 5 ms 604 KB Correct
10 Correct 0 ms 348 KB Correct
11 Correct 28 ms 1616 KB Correct
12 Correct 5 ms 604 KB Correct
13 Correct 63 ms 3204 KB Correct
14 Correct 68 ms 3292 KB Correct
15 Correct 0 ms 348 KB Correct
16 Correct 0 ms 348 KB Correct
17 Correct 55 ms 3412 KB Correct
18 Correct 55 ms 3388 KB Correct
19 Correct 56 ms 3404 KB Correct
20 Correct 32 ms 1872 KB Correct
21 Correct 37 ms 2260 KB Correct
22 Correct 40 ms 2368 KB Correct
23 Correct 56 ms 2572 KB Correct
24 Correct 49 ms 2640 KB Correct
25 Correct 39 ms 2280 KB Correct
26 Correct 1 ms 344 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 -