打表学神带你A了这道题

魈凯KBS  •  2个月前


幽灵粒子,又名独木桥 首先,我们要知道 : 某一次的时间,是其中消失时间最长的粒子所用的时间 两个粒子改变方向反向移动,相当于两个粒子互换名称,继续前进

可以得出 : 最长时间指在线段两端的人朝对方的方向前进直到消失的时间的较大值 最短时间指线段中所有点以最短路径前进直到消失的时间的最大值

代码如下(有坑)

include <bits/stdc++.h>

using namespace std ; int pos [1001] ; int main ( ) {

int n , l ;
cin >> l >> n ;
if ( ! n )
{
	cout << 0 << ' ' << 0 << endl ;
	return 0 ;
}
for ( int i = 1 ; i <= n ; i ++ )
{
	cin >> pos [i] ;
}
sort ( pos + 1 , pos + n + 1 ) ;
int mx = 0 , mn = -1 ;
mx = max ( l + 1 - pos [1] , pos [n] ) ;
for ( int i = 1 ; i <= n ; i ++ )
{
	mn = max ( min ( pos [i] , l + 1 - pos [i] ) , mn ) ;
}
cout << mn << ' ' << mx << endl ;
return 0 ;

}


Comments: