# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
739896 | 2023-05-11T14:23:50 Z | danikoynov | Measures (CEOI22_measures) | C++14 | 1500 ms | 3028 KB |
/** ____ ____ ____ ____ ____ ____ ||l |||e |||i |||n |||a |||d || ||__|||__|||__|||__|||__|||__|| |/__\|/__\|/__\|/__\|/__\|/__\| **/ #include<bits/stdc++.h> #define endl '\n' using namespace std; typedef long long ll; void speed() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); } const int maxn = 2e5 + 10; int n, m, d; int a[maxn], b[maxn]; bool check(double x) { double last = -1e9; for (int i = 1; i <= n; i ++) { if (last + d > a[i] + x) return false; last = max(last + d, a[i] - x); } return true; } void solve_query() { sort(a + 1, a + n + 1); int lf = 0, rf = 1e9; while(lf <= rf) { int mf = (lf + rf) / 2; if (check(mf)) rf = mf - 1; else lf = mf + 1; } double ans = lf; if (ans > 0 && check(ans - 0.5)) ans = ans - 0.5; cout << ans << " "; } void solve() { cin >> n >> m >> d; for (int i = 1; i <= n; i ++) cin >> a[i]; for (int i = 1; i <= m; i ++) cin >> b[i]; for (int i = 1; i <= m; i ++) { n ++; a[n] = b[i]; solve_query(); } } int main() { solve(); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 340 KB | Output is correct |
2 | Incorrect | 3 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 340 KB | Output is correct |
2 | Incorrect | 3 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1545 ms | 3028 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1545 ms | 3028 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |