| |
| |
| |
| |
| |
| |
| |
| #include <bits/stdc++.h> |
| |
| using namespace std; |
| |
| template<class T> |
| void debugVector(const T &a) { |
| cout << "[ "; |
| for (size_t i = 0; i < a.size(); ++i) { |
| cout << a[i] << (i == a.size() - 1 ? " " : ", "); |
| } |
| cout << "]" << endl; |
| } |
| |
| template<class T1, class T2> |
| void debugVectorPair(const vector<pair<T1, T2>> &a) { |
| cout << "{"; |
| for (size_t i = 0; i < a.size(); ++i) { |
| cout << "[ " << a[i].first << ": " << a[i].second << (i == a.size() - 1 ? " ]" : " ], "); |
| } |
| cout << "}" << endl; |
| } |
| |
| |
| template<class T> |
| void debugMatrix2(const T &a) { |
| for (size_t i = 0; i < a.size(); ++i) { |
| debugVector(a[i]); |
| } |
| } |
| |
| template<class T> |
| using matrix2 = vector<vector<T>>; |
| |
| template<class T> |
| vector<vector<T>> getMatrix2(size_t n, size_t m, T init = T()) { |
| return vector<vector<T>>(n, vector<T>(m, init)); |
| } |
| |
| template<class T> |
| using matrix3 = vector<vector<vector<T>>>; |
| |
| template<class T> |
| vector<vector<vector<T>>> getMatrix3(size_t x, size_t y, size_t z, T init = T()) { |
| return vector<vector<vector<T>>>(x, vector<vector<T>>(y, vector<T>(z, init))); |
| } |
| |
| vector<int> genBigInteger(const string &a) { |
| vector<int> res; |
| if (a.empty()) return res; |
| for (int i = a.size() - 1; i >= 0; --i) { |
| res.push_back(a[i] - '0'); |
| } |
| return res; |
| } |
| |
| ostream &printBigInteger(const vector<int> &a) { |
| if (a.empty()) return cout; |
| for (int i = a.size() - 1; i >= 0; --i) { |
| cout << a[i]; |
| } |
| return cout; |
| } |
| |
| vector<int> maxBigInteger(const vector<int> &a, const vector<int> &b) { |
| if (a.size() > b.size()) { |
| return a; |
| } else if (a.size() < b.size()) { |
| return b; |
| } |
| for (int i = a.size() - 1; i >= 0; --i) { |
| if (a[i] > b[i]) { |
| return a; |
| } else if (a[i] < b[i]) { |
| return b; |
| } |
| } |
| return a; |
| } |
| |
| vector<int> addBigInteger(const vector<int> &a, const vector<int> &b) { |
| vector<int> res; |
| int pre = 0; |
| for (size_t i = 0; i < a.size() || i < b.size() || pre; ++i) { |
| if (i < a.size()) pre += a[i]; |
| if (i < b.size()) pre += b[i]; |
| res.push_back(pre % 10); |
| pre /= 10; |
| } |
| while (res.size() > 1 && res.back() == 0) { |
| res.pop_back(); |
| } |
| return res; |
| } |
| |
| vector<int> mulBigInteger(const vector<int> &a, int b) { |
| vector<int> res; |
| int pre = 0; |
| for (size_t i = 0; i < a.size() || pre; ++i) { |
| if (i < a.size()) pre += a[i] * b; |
| res.push_back(pre % 10); |
| pre /= 10; |
| } |
| while (res.size() > 1 && res.back() == 0) { |
| res.pop_back(); |
| } |
| return res; |
| } |
| |
| vector<int> divBigInteger(const vector<int> &a, int b, int &r) { |
| vector<int> res; |
| for (int i = a.size() - 1; i >= 0; --i) { |
| r = 10 * r + a[i]; |
| res.push_back(r / b); |
| r %= b; |
| } |
| reverse(res.begin(), res.end()); |
| while (res.size() > 1 && res.back() == 0) { |
| res.pop_back(); |
| } |
| return res; |
| } |
| |
| |
| |
| |
| |
| bool check(vector<int> &info, int mid, int m) { |
| int pos = info[0]; |
| int cnt = 0; |
| for (int i = 1; i < info.size(); ++i) { |
| if (info[i] - pos < mid) { |
| cnt++; |
| } else { |
| pos = info[i]; |
| } |
| } |
| return cnt <= m; |
| } |
| |
| int main() { |
| ios::sync_with_stdio(false); |
| cin.tie(0); |
| |
| int l, n, m; |
| cin >> l >> n >> m; |
| vector<int> info(n + 2); |
| for (int i = 1; i <= n; ++i) { |
| cin >> info[i]; |
| } |
| info[n + 1] = l; |
| int left = 0, right = l; |
| while (left < right) { |
| |
| int mid = (left + right + 1) >> 1; |
| if (check(info, mid, m)) { |
| left = mid; |
| } else { |
| right = mid - 1; |
| } |
| } |
| cout << right << endl; |
| return 0; |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!