超市market(堆维护,小根堆+大根堆)

超市
(market.pas/c/cpp)
【题目描述】
超市正在举行一个活动,该活动的规则如下:
想要参与的顾客会将他购物的账单放入纸箱中,账单上写有顾客的联系方式和购物的金额。每天超市关门前纸箱中金额最大、最小的两张帐单被取出,付款金额最大的顾客将获得一笔奖金,价值为取出的两张帐单的金额之差;为了不重复计算,取出的两张帐单不再放回箱子,而剩下的帐单仍保留在箱中,进行第二天的活动。
顾客很多,因此可假定:每天活动结束时,箱中至少有两张帐单以供取出。
小h也参加了这次活动,他想知道整个活动期间超市付出的奖金总额是多少?
【输入数据】
第一行是一个整数n,表示活动历时的天数。
以下的n行,每行包含若干由空格分隔的非负整数。第i+1行的数表示在第i天投入箱子的账单金额。每行的第一个数是一个整数k,表示当日账单的数目。后面的k个正整数代表这k笔账单的金额。
【输出数据】
输出一个数,表示活动期间超市付出的奖金总额。
【样例输入】
5
3 1 2 3
2 1 1
4 10 5 5 1
0
1 2
【样例输出】
19
【数据范围】
设s为整个活动中涉及到的账单笔数。
30%的数据满足n≤100,s≤10000。
70%的数据满足s≤10^5。
100%的数据满足1≤n≤5000,0≤k≤10^5,s≤10^6,每笔账单的金额不超过10^6。

program df;
var i,j,n,m,x,y,z,k,t,len,ls:longint;
s:int64;
a,b,c,d,f:array

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值