Submission #1114463

# Submission time Handle Problem Language Result Execution time Memory
1114463 2024-11-18T23:42:20 Z dynam1c Sprinklers (CEOI24_sprinklers) C++17
0 / 100
104 ms 3632 KB
#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  cin >> n >> m;
  vector<int> s(n), f(m);
  for (int& e : s)
    cin >> e;
  for (int& e : f)
    cin >> e;

  vector<char> d(n);
  auto check = [&](int k) {
    d.assign(n, 0);
    vector<int> x(n+1);
    x[0] = -1;
    int j = 0;
    int li = -1, lj;
    for (int i = 0; i < n; i++) {
      if (s[i] <= x[i])
        x[i+1] = s[i]+k, d[i] = 'R';
      else if (f[j] < s[i]) {
        if (s[i]-f[j] > k)
          return false;
        x[i+1] = s[i], d[i] = 'L';
        if (li >= 0 && s[i]-k <= f[lj]) {
          x[i+1] = s[li]+k;
          d[li] = 'R';
        }
        li = i, lj = j;
      } else
        x[i+1] = s[i]+k, d[i] = 'R';
      while (j < m && f[j] <= x[i+1])
        j++;
    }
    return j == m;
  };

  if (!check(1e9)) {
    cout << -1 << endl;
    return 0;
  }

  int l = -1, r = 1e9;
  while (r-l > 1) {
    int m = (l+r)/2;
    if (check(m))
      r = m;
    else
      l = m;
  }
  cout << r << endl;
  for (char c : d)
    cout << c;
  cout << endl;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Correct
2 Correct 1 ms 336 KB Correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Correct
2 Incorrect 24 ms 1360 KB Invalid character in the string
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Correct
2 Correct 28 ms 1616 KB Correct
3 Correct 6 ms 592 KB Correct
4 Correct 72 ms 3632 KB Correct
5 Correct 78 ms 3492 KB Correct
6 Correct 1 ms 336 KB Correct
7 Correct 1 ms 336 KB Correct
8 Incorrect 62 ms 3520 KB Invalid character in the string
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Correct
2 Correct 1 ms 336 KB Correct
3 Incorrect 1 ms 336 KB Invalid character in the string
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Correct
2 Correct 35 ms 1928 KB Correct
3 Correct 104 ms 3520 KB Correct
4 Correct 93 ms 3624 KB Correct
5 Correct 95 ms 3520 KB Correct
6 Incorrect 95 ms 3520 KB User solution is incorrect
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 336 KB Correct
2 Correct 1 ms 336 KB Correct
3 Incorrect 24 ms 1360 KB Invalid character in the string
4 Halted 0 ms 0 KB -