Ants poj No.1852

本题的算法很是简单o(n),但是十分考察想象力,最短时间很容易想到是距离最近的端,但是最长距离需要进行一步转换才会发现是,距离最长的端。

 

#include<cstdio>
#include <algorithm>
using namespace std;

#define MAX_N 1000000

int L,n,x[MAX_N];
void solve()
{
    int minT=0;
    for(int i=0;i<n;i++)
    {
        minT=max(minT,min(x[i],L-x[i]));
    }
    int maxT=0;
    for(int i=0;i<n;i++)
    {
        maxT=max(maxT,max(x[i],L-x[i]));
    }
    printf("%d %d\n",minT,maxT);
}
int main(void)
{
    scanf("%d %d",&L,&n);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&x[i]);    
    }    
    solve();
    return 0;
 } 

 

posted @ 2020-05-20 09:55  渴望成为大佬的菜鸡  阅读(170)  评论(0)    收藏  举报