#P12928. [POI 2022/2023 R2] 伐木工人 / Drwale

[POI 2022/2023 R2] 伐木工人 / Drwale

题目背景

翻译来自于 LibreOJ

题目描述

题目译自 XXX Olimpiada Informatyczna – II etap Drwale

两位伐木工 Bajtek 和 Bitek 以相同速度砍伐 nn 块木材,初始堆放在一起。第 ii 块木材需耗时 aia_i 分钟。每次某位伐木工完成当前木材后,从堆顶取下一块。若两人同时完成,Bajtek 优先取木材。

你的任务是计算在最不利排列下,伐木工完成所有砍伐的最晚时间。

输入格式

第一行包含一个整数 nn (1n106)(1 \leq n \leq 10^6),表示木材数量。

第二行包含 nn 个正整数 a1,a2,,ana_1, a_2, \ldots, a_n,表示每块木材的砍伐时间。

A=a1+a2++anA = a_1 + a_2 + \ldots + a_n 为总砍伐时间,满足 A5000000A \leq 5000000

输出格式

输出一个整数,表示伐木工完成砍伐的最长可能时间。

3
2 3 1
4

提示

样例 1 解释

若木材按顺序 1,2,31, 2, 3 排列(耗时 1,2,31, 2, 3),可达结果 44。Bajtek 先取木材 11(耗时 11),Bitek 取木材 22(耗时 22)。11 分钟后,Bajtek 取木材 33(耗时 33)。44 分钟后,所有木材砍伐完成。

附加样例

  1. n=6,ai=in=6, a_i = i,答案为 1313
  2. n=1000,ai=1n=1000, a_i = 1,答案为 500500
  3. n=10,ai=2i1n=10, a_i = 2^{i-1},答案为 767767
  4. n=2,ai=2500000n=2, a_i = 2500000,答案为 25000002500000

详细子任务附加限制及分值如下表所示。

子任务编号 附加限制 分值
11 n10n \leq 10 55
22 A500A \leq 500 1515
33 A10000A \leq 10000 2020
44 A100000A \leq 100000
55 A1000000A \leq 1000000
66 无附加限制