Ansts

/*
    n 只蚂蚁以每秒一米的速度在长为L的竿子上爬行。当每只蚂蚁到竿子的端点就会掉落。由于竿子太细,两只蚂蚁相对时,它们不能交错相过,只能各自反方向爬回去。
    对吞每只蚂蚁,我们知道他们对于竿子左端的距离为x[I], 但不知道它的朝向。
    计算所有蚂蚁落下竿子所需的时间。
*/
#include <stdio.h>

int min(int a, int b);
int max(int a, int b);

int max(int a, int b){
    return a>b?a:b;
}
int min(int a, int b){
    return a<b?a:b;
}
int main(){
    // 最多有 100 只蚂蚁
    int L,n,a[100];
    int minT, maxT = 0;
    int i;
    scanf("%d%d", &L, &n);
    for (i=0; i<n; i++){
        scanf("%d", &a[i]);
    }
    minT = 0;
    for (i=0; i<n; i++){
        minT = max(minT, min(a[i],L-a[i]));
    }

    for (i=0; i<n; i++){
        maxT = max(maxT, max(a[i], L-a[i]));
    }

    printf("%d %d", minT, maxT);
    return 0;
}
原文地址:https://www.cnblogs.com/laohaozi/p/12538404.html