QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 32 MB Points totaux : 80

#13751. 促销

Statistiques

一家书店正在举办“买三免一(买三本书,只需支付其中较贵的两本)”的促销活动。也就是说,每位购买 3 本书的顾客都可以免费获得其中最便宜的那一本。当然,顾客可以购买更多的书,并且根据将书分成三人一组的方式,免费获得每个小组中最便宜的那本书。

例如,假设顾客选购的书籍价格分别为:10 3 2 4 6 4 9。如果他将它们分组为:(10, 3, 2)、(4, 6, 4) 和 (9),他将免费获得第一组中价格为 2 的书,以及第二组中价格为 4 的书。我们可以看到,他无法从第三组中免费获得任何书,因为该组只包含一本书。

书店的店员非常热心,她总是想尽可能地为每位顾客降低价格。给定每本书的价格,请帮助店员以最佳方式将这些书分组,使得顾客需要支付的总价格最小。

请注意:店员不需要将书分组成每个小组都恰好包含 3 本书,但每个小组中的书籍数量必须在 1 到 3 之间(含 1 和 3)。

输入格式

输入的第一行包含一个整数 $N$ ($1 \le N \le 100\,000$),表示顾客购买的书籍数量。

接下来的 $N$ 行,每行包含一个整数 $C_i$ ($1 \le C_i \le 100\,000$),表示每本书的价格。

输出格式

输出的唯一一行应包含所需的最小总价格。

数据范围

对于 $50\%$ 的测试数据,满足 $N \le 2000$。

对于 $100\%$ 的测试数据,满足 $1 \le N \le 100\,000$,$1 \le C_i \le 100\,000$。

样例

输入样例 1

4
3
2
3
2

输出样例 1

8

输入样例 2

6
6
4
5
5
5
5

输出样例 2

21

说明

样例 1 说明:店员可以将价格为 3, 2, 2 的书分在同一组,而将价格为 3 的书单独分在另一组,这也是最便宜的组合方式。

样例 2 说明:店员将价格为 6, 4, 5 的书分在同一组,将价格为 5, 5, 5 的书分在另一组,从而得到最便宜的组合方式。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.