본문 바로가기

백준/실버

[백준 4307번] 개미 (C++)

문제링크 : https://www.acmicpc.net/problem/4307

 

4307번: 개미

개미 여러 마리가 길이가 lcm인 막대 위에 있다. 각 개미의 이동 속도는 모두 일정하며, 1cm/s이다. 개미가 막대의 마지막까지 걸어간다면, 개미는 그 즉시 떨어지게 된다. 또, 두 개미가 만나게 된

www.acmicpc.net

#include <bits/stdc++.h>
using namespace std;
#define ll long long

int main(void) {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
   
    int T, L, N;
    cin >> T;
    while(T--)
    {
        cin >> L >> N;
        int MIN_result = 0, MAX_result = 0;
        int mid = L/2;
        for(int i=0; i<N; i++)
        {
            int num;
            cin >> num;
            if(mid < num)  //우측방향
            {
                MIN_result = max(MIN_result, L-num);  //최소거리
                MAX_result = max(MAX_result, num);    //최대거리
            }
            else           //좌측방향
            {
                MIN_result = max(MIN_result, num);    //최소거리
                MAX_result = max(MAX_result, L-num);  //최대거리
            }
        }
        cout << MIN_result <<" "<< MAX_result << "\n";
    }
    return 0;
}

총 길이의 중간 값을 기준으로 우측 방향에 대해 최소거리와 최대거리,

좌측 방향에 대해 최소거리와 최대거리를 구하였다.