아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

대비 강의

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

요약
두 강사가 각 팀을 t_i 시간씩 한 번씩 가르칠 때 겹치지 않는 가장 짧은 강의 일정을 구합니다.
난이도

보통10점 중 7점

유형
그리디, 정렬, 수학
정답자
아직 제출이 없습니다

문제

안테와 고란이 프로그래밍 대회를 앞둔 NN개 팀을 지도한다. 두 사람은 각자 설명할 알고리즘을 하나씩 맡고 있어서, 모든 팀은 안테의 강의와 고란의 강의를 각각 한 번씩 들어야 한다.

ii번 팀이 알고리즘 하나를 이해하고 구현하는 데 tit_i의 시간이 걸리며, 이 시간은 두 강의에서 똑같다. 강의는 중간에 끊지 않고 진행한다. 안테와 고란은 같은 팀을 같은 시각에 가르치지 못하고, 한 사람이 두 팀을 같은 시각에 가르치지도 못한다. 두 사람은 언제든 쉴 수 있고, 팀은 두 강의를 어느 순서로 들어도 된다.

두 사람이 강의를 모두 끝내는 데 걸리는 최소 시간을 구하시오.

입력

첫째 줄에 팀의 수 NN이 주어진다.

둘째 줄에 NN개의 정수 t1,t2,…,tNt_1, t_2, \dots, t_N이 공백으로 구분되어 주어진다. tit_i는 ii번 팀이 알고리즘 하나를 이해하고 구현하는 데 걸리는 시간이다.

입력의 모든 수는 [1,3×105][1, 3 \times 10^5] 구간에 속한다.

출력

최소 시간을 정수 하나로 출력한다.

힌트

첫 번째 예제에서는 모든 팀이 2의 시간을 쓴다. 안테가 1번 팀, 2번 팀, 3번 팀을 차례로 가르치고 고란이 3번 팀, 1번 팀, 2번 팀을 차례로 가르치면 된다.

두 번째 예제에서는 안테가 2번 팀과 3번 팀을 차례로 가르친 뒤 1의 시간만큼 쉬고 1번 팀을 가르치고, 고란이 1번 팀, 3번 팀, 2번 팀을 차례로 가르치면 된다.

예제3

  1. 예제 1

    입력
    3
    2 2 2
    
    예상 출력
    6
    
  2. 예제 2

    입력
    3
    4 1 2
    
    예상 출력
    8
    
  3. 예제 3

    입력
    4
    1 3 2 1
    
    예상 출력
    7