문제링크 : https://www.acmicpc.net/problem/4307
#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;
}
총 길이의 중간 값을 기준으로 우측 방향에 대해 최소거리와 최대거리,
좌측 방향에 대해 최소거리와 최대거리를 구하였다.
'백준 > 실버' 카테고리의 다른 글
[백준 1802번] 종이 접기 (C++) (0) | 2023.03.01 |
---|---|
[백준 2548번] 대표 자연수 (C++) (0) | 2023.02.26 |
[백준 6588번] 골드바흐의 추측 (C++) (0) | 2023.02.25 |
[백준 6591번] 어항 쇼다운 (C++) (0) | 2023.02.25 |
[백준 14235번] 크리스마스 선물 (C++) (0) | 2023.02.24 |