初级
Shortest Distance
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve(n, dists_data, q, queries_data):
n = int(n)
dists = list(map(int, str(dists_data).split(',')))
q = int(q)
queries = str(queries_data).strip().split(',')
total = sum(dists)
prefix = [0] * (n + 1)
for i in range(n):
prefix[i+1] = prefix[i] + dists[i]
for qstr in queries[:q]:
a, b = map(int, qstr.split())
a -= 1
b -= 1
if a > b:
a, b = b, a
cw = prefix[b] - prefix[a]
print(min(cw, total - cw))
示例
输入
solve(5, '1,2,3,4,5', 2, '1 3,2 5')
期望输出
3 6
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199