本体最短时间会比较好想,关于最长时间,我们可以这么想,虽然士兵不能穿过对方,但他们见到面后会互相掉头,此时我们就可以认为他们互相穿过了对方,那么此时最长时间就好求了。
下面附上代码
#include <iostream>
using namespace std;
int main()
{
int m, n, a, b, c=0, x=0, y=0, z, i;
cin >> n >> m;
if (m == 0) cout << 0 << " " << 0;
else
{
for (i = 1; i <= m; i++)
{
cin >> a;
x = max(a, n - a + 1);
y = max(y, x);
b = min(a, n - a + 1);
c = max(c, b);
}
cout << c << " " << y;
}
return 0;
}