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;
 } 

 

上一篇:是时候放弃shape、selector XML写法,一行代码解决基本UI需求


下一篇:UVA 10881 Piotr's Ants(模拟)