RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
KOI00008

장애물

Bronze I 브론즈 I
난이도
2s
시간 제한
1024MB
메모리 제한
17
맞았습니다!!
29
제출 수
58.6%
정답률
레이팅

의견: 0

설명

당신은 친구들과 함께 운동장에서 장애물 뛰기 놀이를 하고 있다. 놀이는 수직선 위의 위치
\(0\)에서 시작하며, 각 장애물은 왼쪽부터 차례로 \(X_1 < X_2 < \dots < X_N\) 에 놓여 있다. \(X_1 ≥ 1\)이다.

당신의 목표는 수직선 위에 놓인 \(N\)개의 장애물을 모두 뛰어넘는 것이다. 이를 위해 당신은 다음과 같은 두 가지 행동을 할 수 있다:

  • 오른쪽으로 \(1\)만큼 걸어간다. 즉, 위치 \(x\)에서 시작했다면 \(x + 1\)에 도착한다.
  • 오른쪽으로 \(2\)만큼 점프한다. 즉, 위치 \(x\)에서 시작했다면 \(x + 2\)에 도착한다.

장애물을 뛰어넘었다는 것은, 장애물을 점프로 넘어갔다는 것을 뜻한다. 다시 말해, 위치 \(X_i\) 에 있는 장애물을 뛰어넘으려면 반드시 위치 \(X_i − 1\)에서 오른쪽으로 \(2\)만큼 점프해서 위치 \(X_i + 1\)에 도착해야 한다.

예를 들어, 아래 그림과 같이 수직선 위의 위치 \(2\), \(5\), \(11\)에 장애물이 놓여 있다고 가정하자.

Fig 1

다음과 같은 방법들로 장애물을 모두 넘어갈 수 있다. 아래에서 \(→\)는 걷기, \(⟹\)는 점프를 의미한다.

방법

  • 방법 \(1\): \(0 → 1 ⟹ 3 → 4 ⟹ 6 → 7 ⟹ 9 → 10 ⟹ 12\) (\(8\)회 이동, 장애물 \(3\)개 넘음)

Fig 2

  • 방법 \(2\): \(0 → 1 ⟹ 3 → 4 ⟹ 6 ⟹ 8 ⟹ 10 ⟹ 12\) (\(7\)회 이동, 장애물 \(3\)개 넘음)

Fig 3

하지만, 다음과 같은 방법들은 장애물을 모두 넘어갈 수 없다.

  • 방법 \(3\): \(0 ⟹ 2 ⟹ 4 ⟹ 6 ⟹ 8 ⟹ 10 ⟹ 12\) (\(6\)회 이동, 장애물 \(2\)개 넘음)

Fig 4

  • 방법 \(4\): \(0 → 1 ⟹ 3 ⟹ 5 ⟹ 7 ⟹ 9 → 10 ⟹ 12\) (\(7\)회 이동, 장애물 \(2\)개 넘음)

Fig 5

  • 방법 \(5\): \(0 → 1 ⟹ 3 → 4 → 5 ⟹ 7\) (\(5\)회 이동, 장애물 \(1\)개 넘음)

Fig 6

각 예시에서, 이동 횟수는 걸어간 횟수와 점프한 횟수의 합이다. 이 예시에서, 방법 \(2\)가 최소 이동 횟수로 장애물을 모두 넘어갈 수 있는 최적의 방법이다.

당신은 이동 횟수를 최소화하여 모든 장애물을 넘어가는 최적의 방법을 찾고자 한다. 단, 주어진 두 행동만으로 모든 장애물을 넘어가는 것이 불가능한 경우도 있다.

제약
  • 주어지는 모든 수는 정수이다.
  • \(1 ≤ N ≤ 250\, 000\)
  • \(1 ≤ X_1 < X_2 < \dots < X_N ≤ 250\, 000\)
입력 형식

첫 번째 줄에는 \(N\)이 주어진다.
두 번째 줄에는 \(N\)개의 정수 \(X_1 , X_2 , \cdots , X_N\)이 공백을 사이에 두고 차례대로 주어진다.

출력 형식

모든 장애물을 넘어갈 수 없다면, -1을 출력한다.
모든 장애물을 넘어갈 수 있다면, 모든 장애물을 넘기 위해 필요한 최소 이동 횟수를 출력한다.

서브태스크
서브태스크점수설명

1

7점

\(N = 1\), \(X \le 5\)

2

12점

\(N = 1\), \(X \le 5\,000\)

3

23점

\(N \le 5\,000\), \(1 \le i \le N\)인 모든 \(i\)에 대하여 \(X \le 5\,000\)

4

58점

추가 제약 조건 없음.

예제 1
입력
3
2 5 11
출력
7
예제 2
입력
3
7 20 25
출력
14
예제 3
입력
4
1 4 5 8
출력
-1
힌트

막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.

문제 정보

riseoj 작성

출처 올림피아드 > 한국정보올림피아드 > KOI 2025 > 2차 대회 > 초등부 1번

평가 및 의견

장애물

개요
출제자 난이도 Bronze I 브론즈 I 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

장애물

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8