반품 회수
의견: 0
아래 그림과 같이 직선 형태의 도로상에 왼쪽부터 오른쪽으로 \(1\)번부터 \(N\)번까지 번호가 붙어 있는 \(N\)개의 집이 있다. \(i\) (\(1 ≤ i ≤ N\))번 집의 위치는 \(X_i\) (\(X_i > 0\))이다.

택배 회사는 한 대의 트럭을 이용해 \(N\)개의 집을 방문하면서 반품되는 물건을 회수하려고 한다. 트럭은 택배 회사가 있는 위치 \(0\)에서 시각 \(0\)에 출발하고, \(i\)번 집은 시각 \(T_i\)에 반품할 물건을 내놓는다. 트럭은 \(1\)의 속력으로 이동하므로, \(d\)만큼의 거리를 이동하는데 \(d\)시간이 걸린다. 또한, 트럭은 필요하면 움직이지 않고 제자리에 멈춰서 기다릴 수 있다.
트럭은 반품할 물건이 나와있는 집의 위치를 지나면 순식간에 물건을 회수할 수 있다. 즉, 물건을 회수하는 데 소요되는 시간은 \(0\)이다. 따라서 트럭은 위치 \(X_i\)를 시각 \(T_i\) 또는 그 이후에 지나면 \(i\)번 집에서 내놓은 물건을 회수할 수 있다.
직선 형태의 도로 위에 있는 집의 위치와 반품할 물건을 내놓는 시각이 주어질 때, 트럭이 모든 물건을 회수해서 다시 택배 회사로 돌아오는 데 걸리는 시간의 최솟값을 구하는 프로그램을 작성하라.
- 주어지는 모든 수는 정수이다.
- \(1 \le N \le 3\,000\)
- \(1 \le X_1 < X_2 < \cdots < X_N \le 10^8\)
- \(0 \le T_i \le 10^8\) (\(1 \le i \le N\))
첫 번째 줄에 반품할 물건을 내놓을 집의 개수 \(N\)이 주어진다.
두 번째 줄에 각 집의 위치 \(X_1, X_2, \cdots , X_N\)이 공백으로 구분되어 주어진다.
세 번째 줄에 각 집이 물건을 내놓는 시각 \(T_1, T_2, \cdots , T_N\)이 공백으로 구분되어 주어진다.
첫 번째 줄에 트럭이 모든 물건을 회수하고 다시 택배 회사로 돌아오기 위해 필요한 시간의 최솟값을 출력한다.
| 서브태스크 | 점수 | 설명 |
|---|---|---|
1 | 10점 | \(N = 2\). |
2 | 15점 | \(N \le 9\). |
3 | 5점 | 모든 \(1 \le i \le N\)에 대해 \(T_i = 0\). |
4 | 25점 | 모든 \(2 \le i \le N\)에 대해 \(T_{i-1} \le T_i\). |
5 | 45점 | 추가 제약 조건 없음. |
4
2 5 7 10
20 4 16 11
23
3
1 2 3
3 2 1
6
막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.
riseoj 작성
출처 올림피아드 > 한국정보올림피아드 > KOI 2024 > 1차 대회 > 초등부 3번 / 고등부 1번
평가 및 의견
반품 회수
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
반품 회수