Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
109492 | 梁乃元 | 跳石头 | C++ | 解答错误 | 0 | 16 MS | 452 KB | 628 | 2023-11-09 13:22:54 |
# include <iostream> using namespace std ; int a [114514] , n , m , lb , ub ; bool check ( long long x ) { int p = a [0] , sum = 0 ; for ( int i = 1 ; i <= n + 1 ; i ++ ) { if ( a [i] - p < x ) { sum ++ ; } else { p = a [i] ; } } return sum < m ; } int main ( ) { int l , n , m ; cin >> l >> n >> m ; for ( int i = 1 ; i <= n ; i ++ ) { cin >> a [i] ; } a [n + 1] = l ; int ub = l + 1 ; while ( ub > lb ) { int mid = ( ub + lb ) / 2.0 ; if ( check ( mid ) ) { lb = mid ; } else { ub = mid ; } } cout << lb << endl ; return 0 ; }