엘리베이터

시간 제한2초메모리 제한128 MB

요약
31층 건물에서 엘리베이터 정지 층을 골라, 이동 및 정지 시간과 계단 이용 시간을 고려해 마지막 직원의 도착 시간을 최소화하는 문제입니다.
난이도

보통10점 중 6점

유형
동적 계획법, 그리디, 시뮬레이션
정답자
아직 제출이 없습니다

문제

한 회사의 직원들은 31층 건물의 서로 다른 사무실 층으로 출근한다. 건물에는 엘리베이터가 한 대뿐이어서, 출근 시간에는 엘리베이터가 미리 정한 일부 층에만 서도록 운행하려고 한다.

엘리베이터는 한 층 올라가는 데 4초가 걸린다. 어떤 층에 서면 그 층에서 10초 동안 머문 뒤 다시 출발한다. 단, 어떤 사람이 내리는 층에서의 대기 시간은 그 사람이 이미 도착한 뒤의 시간이므로 그 사람의 도착 시간에는 포함하지 않는다. 계단으로 한 층을 이동하는 데에는 20초가 걸린다.

각 직원은 자신의 사무실 층과 가장 가까운 엘리베이터 정차 층에서 내린 뒤, 필요하면 계단으로 이동한다. 회사는 모든 직원 중 가장 늦게 도착하는 사람의 도착 시간을 최소로 만들고자 한다.

직원들이 가야 하는 층들이 주어질 때, 가장 늦게 도착하는 사람의 도착 시간으로 가능한 최솟값을 구하라.

입력

첫째 줄에 정수 N(1 <= N <= 30)이 주어진다.

둘째 줄에 직원들이 가야 하는 층을 나타내는 서로 다른 정수 N개가 주어진다. 각 층은 2 이상 31 이하이다.

출력

가장 늦게 도착하는 사람의 도착 시간으로 가능한 최솟값을 초 단위로 출력한다.

예제1

  1. 예제 1

    입력
    3
    4 5 10
    
    예상 출력
    46