Submission #1075463

#TimeUsernameProblemLanguageResultExecution timeMemory
1075463ProtonDecay314Sprinklers (CEOI24_sprinklers)C++17
6 / 100
20 ms3164 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<ll> vll; typedef vector<vll> vvll; typedef vector<int> vi; typedef vector<vi> vvi; typedef pair<int, int> pi; typedef vector<pi> vpi; typedef pair<ll, ll> pll; typedef vector<pll> vpll; typedef vector<bool> vb; typedef set<ll> sll; #define IOS cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(false) #define INF(dtype) numeric_limits<dtype>::max() #define NINF(dtype) numeric_limits<dtype>::min() #define fi first #define se second typedef pair<int, vb> pib; pib solve(int n, int m, const vi& s, const vi& f) { vb config(n, false); for(int i = 0; i * 3 < n; i++) { config[3 * i] = false; config[3 * i + 2] = true; } int ans = 0; for(int i = 0; i < m; i++) { int l = -1, r = n / 3; while(r - l > 1) { int mid = (l + r) >> 1; if(s[mid * 3] <= f[i]) l = mid; else r = mid; } if(l == -1) ans = max(ans, s[0] - f[i]); else if(r == n / 3) ans = max(ans, f[i] - s[l * 3]); else ans = max(ans, min(f[i] - s[l * 3], s[r * 3] - f[i])); } return {ans, config}; } int main() { IOS; int n, m; cin >> n >> m; vi s(n, 0); vi f(m, 0); for(int& sv : s) cin >> sv; for(int& fv : f) cin >> fv; auto [ans, config] = solve(n, m, s, f); cout << ans << "\n"; if(ans != -1) { for(const bool& b : config) cout << (b ? 'R' : 'L'); cout << "\n"; } cout << flush; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...