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

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

인덕션

면접 대비

시간 제한1초메모리 제한1024 MB

요약
0에서 9까지 순환하는 다이얼을 가진 인덕션 세 개의 온도를 조절해, 주어진 순서대로 각 음식이 요구하는 온도에 맞추기 위한 최소 버튼 입력 횟수를 구한다.
난이도

보통10점 중 6점

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

문제

햄최125125인 지훈이는 먹은 햄버거를 소화하기 위해 6060일을 굶었다. 슬슬 배가 고픈 지훈이는 부엌에서 직접 음식을 요리해 먹기로 했다.

부엌에는 인덕션이 있고, 인덕션에 요리할 수 있는 공간이 총 세 개 있다. 그리고 공간마다 따로 있는 온도 조절 버튼 (−,+)(-,+)으로 온도를 조절할 수 있다. 온도는 다음 규칙을 따른다.

  • 온도는 정수이며, 00과 99 사이의 값이다.
  • 처음에 모든 공간의 온도는 00이다.
  • −- / ++를 누르면 온도가 정확히 11만큼 감소 / 증가한다.
  • 온도가 00인 상태에서 −-를 누르면 99가 되고, 99인 상태에서 ++를 누르면 00이 된다.

지훈이는 인덕션으로 NN개의 음식을 순서대로 요리할 것이고, 각 음식을 요리하려면 정확한 온도가 필요하다. 즉, 세 개의 요리 공간 중 적어도 하나는 필요한 온도로 설정되어 있어야 음식을 요리할 수 있다. 음식을 요리하는 데 걸리는 시간은 무시한다.

배가 고파 힘이 없어진 지훈이는 모든 요리를 순서대로 완성하기 위해 온도 조절 버튼을 누르는 횟수가 최대한 적었으면 한다. 각 음식을 요리하기 위해 필요한 온도가 주어질 때, 모든 요리를 순서대로 완성하기 위해 온도 조절 버튼을 눌러야 하는 최소 횟수를 알려주자!

입력

첫 번째 줄에 음식의 개수 NN이 주어진다. (1≤N≤5 000)(1\leq N\leq 5\ 000)

두 번째 줄에 각 음식을 요리하기 위해 필요한 온도를 나타내는 NN개의 정수 t_1,t_2,...,t_Nt\_1,t\_2,...,t\_N이 공백으로 구분되어 주어진다. (0≤t_i≤9)(0\leq t\_i\leq 9)

출력

모든 요리를 순서대로 완성하기 위해 온도 조절 버튼을 눌러야 하는 최소 횟수를 출력한다.

예제3

  1. 예제 1

    입력
    1
    5
    
    예상 출력
    5
    
  2. 예제 2

    입력
    2
    3 9
    
    예상 출력
    4
    
  3. 예제 3

    입력
    5
    9 3 8 1 0
    
    예상 출력
    7