번호 자물쇠

면접 대비

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

요약
각 자물쇠에서 다이얼의 가능한 모든 시작 위치 중 세 단계를 거치는 동안 돌린 눈금 수의 합이 최대가 되는 값을 구한다.
난이도

보통10점 중 4점

유형
수학, 시뮬레이션, 구현
정답자
아직 제출이 없습니다

문제

번호 자물쇠는 시계 방향이나 반시계 방향으로 돌릴 수 있는 원형 다이얼로 이루어져 있으며, 이 다이얼은 자물쇠의 고정된 부분에 끼워져 있다. 다이얼에는 NN개의 눈금이 일정한 간격으로 있으며, 시계 방향으로 갈수록 커지도록 00부터 N−1N-1까지 번호가 매겨져 있다. 자물쇠의 고정된 부분에는 항상 다이얼의 특정 눈금 하나를 가리키는 표시가 있다. 다이얼을 돌리면 표시가 가리키는 눈금이 바뀐다.

자물쇠에는 세 개의 코드 번호 T1T_1, T2T_2, T3T_3가 주어진다. 이들은 음이 아닌 정수이며 각각 NN보다 작고, 셋 중 어느 두 개도 서로 같지 않다.

자물쇠는 다음 세 단계로 연다.

  1. 다이얼을 시계 방향으로 정확히 두 바퀴 돌린 뒤, 표시가 눈금 T1T_1을 가리킬 때까지 계속 시계 방향으로 돌린다.
  2. 다이얼을 반시계 방향으로 한 바퀴 돌린 뒤, 표시가 눈금 T2T_2를 가리킬 때까지 계속 반시계 방향으로 돌린다.
  3. 표시가 눈금 T3T_3를 가리킬 때까지 다이얼을 시계 방향으로 돌린다. 이제 자물쇠가 열린다.

자물쇠를 열기 위해 다이얼을 돌려야 하는 눈금 수의 최댓값을 구해야 한다. 돌린 눈금 수는 위 세 단계에서 돌린 눈금 수의 합이며, 각 단계에서 돌린 양은 방향과 관계없이 항상 양수로 센다. 표시가 처음에 가리키는 눈금은 미리 알 수 없으므로, '최댓값'은 가능한 모든 처음 위치에 대해 구한 눈금 수 합의 최댓값을 뜻한다.

입력

입력은 여러 개의 테스트 케이스로 이루어지며, 한 줄에 하나씩 주어진다. 각 줄에는 네 정수 NN, T1T_1, T2T_2, T3T_3가 이 순서대로 공백으로 구분되어 주어진다. NN은 55의 배수이고 25≤N≤10025 \le N \le 100이다. T1T_1, T2T_2, T3T_3는 위에서 설명한 조건을 만족한다(각각 00 이상 NN 미만이며, 어느 두 개도 서로 같지 않다). 입력의 끝은 공백으로 구분된 네 개의 00이 있는 줄로 나타낸다.

출력

각 테스트 케이스마다, 자물쇠를 열기 위해 다이얼을 돌려야 하는 눈금 수의 최댓값을 한 줄에 하나씩 출력한다. 출력 사이에 빈 줄을 넣지 않는다.

예제3

  1. 예제 1

    입력
    80 20 40 50
    80 10 79 12
    0 0 0 0
    
    예상 출력
    409
    455
    
  2. 예제 2

    입력
    25 0 1 2
    0 0 0 0
    
    예상 출력
    124
    
  3. 예제 3

    입력
    30 5 25 10
    0 0 0 0
    
    예상 출력
    154