6~~
int arr[n];
for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
int min_p , max_p ;//先找到最开始最大最小值的位置
for (int i = 0; i < n; i++)
{
if (arr[i] == 1)
min_p = i + 1;
if (arr[i] == n)
max_p = i + 1;
}
int dis_left,dis_right,result;//该点到左右两个端点的距离
if(min_p<max_p)
{
if(min_p-1>=n-max_p)
result=max_p-1;
else
result=n-min_p;
}
else
{
if(max_p-1>=n-min_p)
result=min_p-1;
else
result=n-max_p;
}
printf("%d",result);
₫₢₾௹﷼₯₰:easy,就是把点往两边移呗
浙公网安备 33010602011771号