题目名称 245. [POI 2000] 促销活动
输入输出 prom.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 7
题目来源 GravatarBYVoid 于2008-12-22加入
开放分组 全部用户
提交状态
分类标签
平衡树
分享题解
通过:66, 提交:102, 通过率:64.71%
Gravatar沉迷学习的假的Keller 100 0.000 s 0.00 MiB C++
Gravatardateri 100 0.000 s 0.00 MiB C++
GravatarAAAAAAAAAA 100 0.000 s 0.00 MiB C++
Gravatar老霍铁粉 100 0.000 s 0.00 MiB C++
Gravatar夜莺 100 0.000 s 0.00 MiB C++
Gravatarzys 100 0.001 s 0.26 MiB C++
Gravatarstdafx.h 100 0.001 s 0.31 MiB C++
GravatarDissolute丶Tokgo 100 0.001 s 0.31 MiB C++
Gravatar0 100 0.001 s 0.31 MiB C++
Gravatar啊吧啦吧啦吧 100 0.001 s 0.31 MiB C++
关于 促销活动 的近10条评论(全部评论)
练一练Treap
GravatarAAAAAAAAAA
2017-07-01 20:19 6楼
=-=果然stl大法好
GravatarPhosphorus15
2016-11-10 17:39 5楼
回复 @啊吧啦吧啦吧 :
略略略
GravatarDissolute丶Tokgo
2015-10-07 16:26 4楼
STL速度贼快……
Gravatar啊吧啦吧啦吧
2015-10-07 16:24 3楼
multiset秒爆无压力啊
Gravatarkaaala
2012-01-03 14:37 2楼
Treap万岁
GravatarBYVoid
2008-12-22 20:43 1楼

245. [POI 2000] 促销活动

★★★   输入文件:prom.in   输出文件:prom.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

促销活动遵守以下规则:

  1. 一个消费者 —— 想参加促销活动的消费者,在账单下记下他自己所付的费用,他个人的详细情况,然后将账单放入一个特殊的投票箱。
  2. 当每天促销活动结束时,从投票箱中抽出两张账单:
  • 第一张被抽出的账单是金额最大的账单
  • 然后被抽出的是金额最小的账单,对于付了金额最大账单的这位消费者,将得到一定数目的奖金,其奖金数等于他账单上的金额与选出的最小金额的差。
  • 为了避免一个消费者多次获奖,根据上面所抽出的两张账单都不返回到投票箱,但是剩下的账单还继续参加下一天的促销活动。

超市的售出额是巨大的,这样可以假定,在每天结束,拿出数额最大账单和数额最小账之前,在投票箱内就已经至少存在了 2 张账单。你的任务是去计算每天促销活动投进投票箱的账单数额的基本信息。在整个活动中开销总数。

【输入格式】

输入文件的第一行是一个整数 n ( 1 <= n <= 5000 ),表示促销活动历时的天数。

以下的 n 行,每行包含若干由空格分隔的非负整数。第 i+1 行的数表示在第 i 天投入箱子的账单金额。每行的第一个数是一个整数 k ( 0 <= k <= 10^5 ), 表示当日账单的数目。后面的 k 个正整数代表这 k 笔账单的金额,均小于10^6 。

整个活动中涉及到的账单笔数不会超过 10^6 。

【输出格式】

输出文件的唯一一行是一个整数,等于整个促销活动中应该付出的奖金总额。

【样例输入】

5
3 1 2 3
2 1 1
4 10 5 5 1
0
1 2

【样例输出】

19