P17546 [JAG 2026 Summer Camp #2] Vibe Coding
题目描述
Shobon 决定使用生成式 AI 来帮助开发一个软件项目。该项目包含 $N$ 个任务。每个任务 $i$($i=1,2,\ldots,N$)都有预先确定的**实现工作量** $A_i$ 和**复杂度** $B_i$。
Shobon 可以按任意顺序完成这些任务,但不能同时处理多个任务。
每个任务 $i$($i=1,2,\ldots,N$)都可以用以下两种方式之一完成:
- **手动实现。** Shobon 自己编写代码,需要 $A_i$ 单位时间。
- **使用生成式 AI。** 为了让 AI 生成正确的代码,Shobon 需要向 AI 解释当前任务以及此前所有已完成的任务。令 $S$ 为此前所有已完成任务的复杂度之和。准备这段说明需要 $S+B_i$ 单位时间。之后 AI 会瞬间完成实现,不需要额外的实现时间。因此,使用 AI 完成这个任务总共需要 $S+B_i$ 单位时间。
无论使用哪种方式,只要任务 $i$ 已经完成,它的复杂度 $B_i$ 就会计入此后使用生成式 AI 时的 $S$。
求完成所有任务所需的最少总时间。
输入格式
输入包含三行,格式如下。
```text
N
A_1 A_2 ... A_N
B_1 B_2 ... B_N
```
第一行给出任务数 $N$($1\le N\le 2\times 10^5$)。第二行包含 $N$ 个整数 $A_1,A_2,\ldots,A_N$,每个整数都在 $1$ 到 $10^9$ 之间(含端点),表示这 $N$ 个任务的实现工作量。第三行包含 $N$ 个整数 $B_1,B_2,\ldots,B_N$,每个整数都在 $1$ 到 $10^8$ 之间(含端点),表示这 $N$ 个任务的复杂度。
输出格式
在一行中输出完成所有任务所需的最少总时间。
说明/提示
对于样例输入 1,可以依次使用生成式 AI 完成任务 $2$ 和 $3$,然后手动实现任务 $1$。
- 开始任务 $2$ 时,还没有完成任何任务。这个任务需要 $0+B_2=2$ 单位时间。
- 开始任务 $3$ 时,任务 $2$ 已经完成。这个任务需要 $B_2+B_3=2+4=6$ 单位时间。
- 最后,手动实现任务 $1$ 需要 $A_1=10$ 单位时间。
因此,可以用 $2+6+10=18$ 单位时间完成全部任务,这就是最少时间。