Submission #1046142

# Submission time Handle Problem Language Result Execution time Memory
1046142 2024-08-06T10:31:24 Z c2zi6 Sprinklers (CEOI24_sprinklers) C++14
9 / 100
32 ms 1372 KB
#define _USE_MATH_DEFINES
#include <bits/stdc++.h>
#define ff first
#define ss second
#define pb push_back
#define all(a) (a).begin(), (a).end()
#define replr(i, a, b) for (int i = int(a); i <= int(b); ++i)
#define reprl(i, a, b) for (int i = int(a); i >= int(b); --i)
#define rep(i, n) for (int i = 0; i < int(n); ++i)
#define mkp(a, b) make_pair(a, b)
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int, int> PII;
typedef vector<int> VI;
typedef vector<PII> VPI;
typedef vector<VI> VVI;
typedef vector<VVI> VVVI;
typedef vector<VPI> VVPI;
typedef pair<ll, ll> PLL;
typedef vector<ll> VL;
typedef vector<PLL> VPL;
typedef vector<VL> VVL;
typedef vector<VVL> VVVL;
typedef vector<VPL> VVPL;
template<class T> T setmax(T& a, T b) {if (a < b) return a = b; return a;}
template<class T> T setmin(T& a, T b) {if (a < b) return a; return a = b;}
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
template<class T>
using indset = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
typedef vector<char> VC;
typedef vector<VC> VVC;
typedef vector<bool> VB;
typedef vector<VB> VVB;
 
void solve() {
    int n, m;
    cin >> n >> m;
    VI a(n);
    /* jur */
    VI b(m);
    /* caxik */
    for (int& x : a) cin >> x;
    for (int& x : b) cin >> x;
    
    string ans(n, 'L');
    auto can = [&](ll d) {
        int j = 0;
        // verjin chjrac caxik@
        rep(i, n) {
            if (b[j] < a[i] - d) return false;

            if (b[j] < a[i]) {
                // a[i]-n pti dzax naye
                ans[i] = 'L';
                while (j < m && b[j] <= a[i]) j++;
            } else {
                // a[i]-n pti aj naye
                ans[i] = 'R';
                while (j < m && b[j] <= a[i]+d) j++;
            }
            if (j == m) break;
        }
        return j == m;
    };

    /*replr(i, 0, 200) cout << can(i); cout << endl;*/

    ll l = -1, r = 2e9;
    while (l + 1 < r) {
        ll m = (l + r) / 2;
        if (can(m)) r = m;
        else l = m;
    }
    if (r == 2e9) cout << -1 << endl;
    else {
        can(r);
        cout << r << endl;
        cout << ans << endl;
    }
}
 
int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL), cout.tie(NULL);
	/*freopen("mincross.in", "r", stdin); */
	/*freopen("test.out", "w", stdout); */
	int t = 1;
	/*cin >> t; */
	while (t--) solve();
}










# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Correct
2 Correct 0 ms 348 KB Correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Correct
2 Correct 5 ms 604 KB Correct
3 Correct 0 ms 348 KB Correct
4 Correct 6 ms 860 KB Correct
5 Correct 6 ms 604 KB Correct
6 Correct 0 ms 348 KB Correct
7 Correct 1 ms 348 KB Correct
8 Correct 1 ms 348 KB Correct
9 Correct 0 ms 348 KB Correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Correct
2 Correct 7 ms 616 KB Correct
3 Correct 2 ms 348 KB Correct
4 Correct 23 ms 1372 KB Correct
5 Correct 25 ms 1360 KB Correct
6 Correct 0 ms 348 KB Correct
7 Correct 0 ms 348 KB Correct
8 Correct 12 ms 1252 KB Correct
9 Correct 13 ms 1256 KB Correct
10 Correct 17 ms 1252 KB Correct
11 Correct 11 ms 860 KB Correct
12 Correct 13 ms 860 KB Correct
13 Correct 16 ms 1116 KB Correct
14 Correct 18 ms 1112 KB Correct
15 Correct 20 ms 1116 KB Correct
16 Correct 15 ms 1116 KB Correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Correct
2 Correct 0 ms 348 KB Correct
3 Correct 0 ms 344 KB Correct
4 Correct 0 ms 348 KB Correct
5 Incorrect 0 ms 348 KB User solution is worse than jury's solution
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Correct
2 Correct 9 ms 860 KB Correct
3 Incorrect 32 ms 1364 KB User solution is worse than jury's solution
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Correct
2 Correct 0 ms 348 KB Correct
3 Correct 5 ms 604 KB Correct
4 Correct 0 ms 348 KB Correct
5 Correct 6 ms 860 KB Correct
6 Correct 6 ms 604 KB Correct
7 Correct 0 ms 348 KB Correct
8 Correct 1 ms 348 KB Correct
9 Correct 1 ms 348 KB Correct
10 Correct 0 ms 348 KB Correct
11 Correct 7 ms 616 KB Correct
12 Correct 2 ms 348 KB Correct
13 Correct 23 ms 1372 KB Correct
14 Correct 25 ms 1360 KB Correct
15 Correct 0 ms 348 KB Correct
16 Correct 0 ms 348 KB Correct
17 Correct 12 ms 1252 KB Correct
18 Correct 13 ms 1256 KB Correct
19 Correct 17 ms 1252 KB Correct
20 Correct 11 ms 860 KB Correct
21 Correct 13 ms 860 KB Correct
22 Correct 16 ms 1116 KB Correct
23 Correct 18 ms 1112 KB Correct
24 Correct 20 ms 1116 KB Correct
25 Correct 15 ms 1116 KB Correct
26 Correct 0 ms 344 KB Correct
27 Correct 0 ms 348 KB Correct
28 Incorrect 0 ms 348 KB User solution is worse than jury's solution
29 Halted 0 ms 0 KB -