# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
354525 | 2021-01-22T02:53:34 Z | Lam_lai_cuoc_doi | Sparklers (JOI17_sparklers) | C++17 | 1 ms | 364 KB |
#include <iostream> #include <cstdio> #include <cmath> #define task "" using namespace std; using ll = long long; using ld = long double; const int N = 1e5 + 2; const int Inf = 1e9 + 7; int n, T, k; int x[N]; void Read() { cin >> n >> k >> T; for (int i = 1; i <= n; ++i) cin >> x[i]; } bool Check(int v) { int a(Inf), b(-Inf); if (k > 1 && 2ll * v * T >= (x[k] - x[k - 1])) { a = k - 1; b = k; } else if (k < n && 2ll * v * T >= (x[k + 1] - x[k])) { a = k; b = k + 1; } if (a == Inf) return false; while (a > 1 || b < n) { bool flag(1); if (a > 1 && 2ll * T * (b + 1 - a) >= ceil((ld)1.0 * (x[b] - x[a - 1]) / v)) { flag = 0; --a; } else if (b < n && 2ll * T * (b + 1 - a) >= ceil((ld)1.0 * (x[b + 1] - x[a]) / v)) { flag = 0; ++b; } if (flag) return false; } return true; } void Solve() { int l = 1, m, h = 1e9 + 7; while (l <= h) { m = (l + h) / 2; if (!Check(m)) l = m + 1; else h = m - 1; } cout << l; } int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); if (fopen(task ".INP", "r")) { freopen(task ".INP", "r", stdin); freopen(task ".OUT", "w", stdout); } Read(); Solve(); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 1 ms | 364 KB | Output is correct |
4 | Correct | 1 ms | 364 KB | Output is correct |
5 | Correct | 1 ms | 364 KB | Output is correct |
6 | Correct | 1 ms | 364 KB | Output is correct |
7 | Incorrect | 1 ms | 364 KB | Output isn't correct |
8 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 1 ms | 364 KB | Output is correct |
4 | Correct | 1 ms | 364 KB | Output is correct |
5 | Correct | 1 ms | 364 KB | Output is correct |
6 | Correct | 1 ms | 364 KB | Output is correct |
7 | Incorrect | 1 ms | 364 KB | Output isn't correct |
8 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 1 ms | 364 KB | Output is correct |
4 | Correct | 1 ms | 364 KB | Output is correct |
5 | Correct | 1 ms | 364 KB | Output is correct |
6 | Correct | 1 ms | 364 KB | Output is correct |
7 | Incorrect | 1 ms | 364 KB | Output isn't correct |
8 | Halted | 0 ms | 0 KB | - |