21.B2. CTDL> bài Chi phí tối thiểu
Chi phí tối thiểu
Trong một chuyến đi tàu điện, FullHouse Dev được giao một bài toán đầy thách thức. Họ được yêu cầu tìm cách tính toán chi phí tối thiểu để di chuyển giữa hai trạm dừng chân trong một thành phố.
Bài toán
Một thành phố có \(N\) trạm dừng tàu điện được đánh số từ 1 đến \(N\) và được kết nối với nhau tạo thành một vòng tròn. Bạn được cung cấp một mảng \(ticket\_cost\) trong đó \(ticket\_cost[i]\) là chi phí vé giữa các trạm số \(i\) và \((i + 1) \% N\). Tàu điện có thể di chuyển theo cả hai hướng, tức là theo chiều kim đồng hồ và ngược chiều kim đồng hồ.
Nhiệm vụ của bạn là tìm ra chi phí tối thiểu để di chuyển giữa trạm bắt đầu và trạm kết thúc đã cho.
INPUT FORMAT:
- Dòng đầu tiên chứa số nguyên \(N\) đại diện cho tổng số trạm dừng tàu điện.
- Dòng thứ hai chứa số nguyên \(start\) đại diện cho trạm bắt đầu.
- Dòng thứ ba chứa số nguyên \(finish\) đại diện cho trạm kết thúc.
- Dòng thứ tư chứa một mảng \(N\) số nguyên \(ticket\_cost\), trong đó \(ticket\_cost[i]\) đại diện cho chi phí vé giữa trạm số \(i\) và \((i + 1) \% N\).
OUTPUT FORMAT:
- Trả về chi phí tối thiểu để di chuyển giữa trạm bắt đầu và trạm kết thúc đã cho.
Ràng buộc:
- \(1 \leq N \leq 10^5\)
- \(1 \leq start, finish \leq N\)
- \(1 \leq ticket\_cost[i] \leq 10^9\)
Ví dụ
INPUT
4
1
3
1 2 3 4
OUTPUT
3
Giải thích
- Đường đi 1: \(1 \rightarrow 2 \rightarrow 3\) với chi phí \(1 + 2 = 3\).
- Đường đi 2: \(1 \rightarrow 4 \rightarrow 3\) với chi phí \(4 + 3 = 7\).
Đường đi 1 sẽ cho chi phí tối thiểu. Do đó, trả về 3.
Comments