Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
109451 曾煦翔 跳石头 C++ 通过 100 14 MS 452 KB 783 2023-11-08 18:56:03

Tests(10/10):


#include <bits/stdc++.h> using namespace std; int a[500010]; int d , n , m; bool two_find(int x) { int tot = 0; int i = 0; int now = 0; while (i < n + 1) { i++; if (a[i] - a[now] < x) tot++; else now = i; } if (tot > m) return false; else return true; } int main() { cin >> d >> n >> m; int cnt = 0; for (int i = 1;i <= n;i++) cin >> a[i]; int l , r , mid; a[n + 1] = d; l = 1; r = d; while (l <= r) { mid = (l + r) / 2; if (two_find(mid)) { cnt = mid; l = mid + 1; } else r = mid - 1; } cout << cnt << endl; return 0; }


测评信息: