Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
113116 | 陈家宝 | 跳石头 | C++ | 通过 | 100 | 15 MS | 452 KB | 613 | 2023-12-01 13:26:17 |
# include <iostream> using namespace std ; int a [114514] , l , n , m , lb , ub ; bool check ( int 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 ( ) { 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 > 1 ) { int mid = ( ub + lb ) / 2.0 ; if ( check ( mid ) ) { lb = mid ; } else { ub = mid ; } } cout << lb << endl ; return 0 ; }