Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
127118 罗恩祥 跳石头 C++ 通过 100 14 MS 444 KB 715 2024-01-24 23:15:32

Tests(10/10):


#include <iostream> using namespace std; int lst[50010]; int d, n, m, num; bool judge(int x) { int sum = 0, i = 0, N = 0; while (i < n + 1) { i++; if (lst[i] - lst[N] < x) sum++; else N = i; } if (sum > m) return 0; else return 1; } int main() { cin >> d >> n >> m; for (int i = 1; i <= n; i++) cin >> lst[i]; lst[n + 1] = d; int l = 1, r = d, mid; while (l <= r) { mid = (l + r) / 2; if (judge(mid)) { num = mid; l = mid + 1; } else r = mid - 1; } cout << num; }


测评信息: