제출 #245786

#제출 시각아이디문제언어결과실행 시간메모리
245786Osama_AlkhodairySparklers (JOI17_sparklers)C++17
0 / 100
5 ms384 KiB
#include <bits/stdc++.h> using namespace std; #define finish(x) return cout << x << endl, 0 #define ll long long int n, k, T; vector <int> x; bool can(int s){ int l, r; l = r = k; double t = T; auto calc = [&](double d){ d /= 2; return t - d / s; }; while(l > 0 || r < n - 1){ if(l > 0){ double new_t = calc(x[l] - x[l - 1]); if(new_t >= 0){ l--; t = new_t + T; continue; } } if(r < n - 1){ double new_t = calc(x[r + 1] - x[r]); if(new_t >= 0){ r++; t = new_t + T; continue; } } return 0; } return 1; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> k >> T; x.resize(n); for(auto &i : x) cin >> i; k--; if(x.back() - x[0] == 0) finish(0); int l = 1, r = 1e9; while(l <= r){ int mid = (l + r) / 2; if(can(mid)) r = mid - 1; else l = mid + 1; } cout << l << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...