【CJOJ2482】【POI2000】促销活动
题面
Description
促销活动遵守以下规则:
一个消费者 —— 想参加促销活动的消费者,在账单下记下他自己所付的费用,他个人的详细情况,然后将账单放入一个特殊的投票箱。
当每天促销活动结束时,从投票箱中抽出两张账单:第一张被抽出的账单是金额最大的账单。然后被抽出的是金额最小的账单,对于付了金额最大账单的这位消费者,将得到一定数目的奖金,其奖金数等于他账单上的金额与选出的最小金额的差。
为了避免一个消费者多次获奖,根据上面所抽出的两张账单都不返回到投票箱,但是剩下的账单还继续参加下一天的促销活动。
超市的售出额是巨大的,这样可以假定,在每天结束,拿出数额最大账单和数额最小账之前,在投票箱内就已经至少存在了 2 张账单。你的任务是去计算每天促销活动投进投票箱的账单数额的基本信息。在整个活动中开销总数。
本题中约定:
整个活动持续了 N 天 (N<=5000) 。 第 i 天放入的帐单有 a[i] 张, a[i]<=10^5 。且 sigma(a[1]...a[n])<=10^6 。 每一天放入的帐单的面值均 <=10^6 。
Input
第一行是一个整数 n ( 1 <= n <= 5000 ),表示促销活动历时的天数。
以下的 n 行,每行包含若干由空格分隔的非负整数。第 i+1 行的数表示在第 i 天投入箱子的账单金额。每行的第一个数是一个整数 k ( 0 <= k <= 10^5 ), 表示当日账单的数目。后面的 k 个正整数代表这 k 笔账单的金额,均小于10^6 。
整个活动中涉及到的账单笔数不会超过 10^6 。
Output
输出唯一一行是一个整数,等于整个促销活动中应该付出的奖金总额。
Sample Input
5
3 1 2 3
2 1 1
4 10 5 5 1
0
1 2
Sample Output
19
题解
这几道题目用来STL练手
是STL的好题
因为每一次都要维护最大值和最小值,并且存在重复的数字。
这就是multiset的妙用
关于multiset的基本使用自行百度
multiset内部的数据存储的时候已经是有序的,可以使用迭代器直接遍历一个multiset,并且与set不同,multiset会保留容器内的重复元素。
直接上代码了:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<map>
#include<set>
using namespace std;
int n,k,a;
multiset<int> Bill;
int main()
{
cin>>n;
long long ans=0;
for(int i=1;i<=n;++i)
{
cin>>k;
for(int j=1;j<=k;++j)
{
cin>>a;
Bill.insert(a);
}
multiset<int>::iterator t1,t2;
t1=Bill.begin();
t2=Bill.end();
t2--;
ans+=*t2-*t1;
Bill.erase(t1);
Bill.erase(t2);
}
cout<<ans<<endl;
return 0;
}
【CJOJ2482】【POI2000】促销活动的更多相关文章
- CJOJ 2482 【POI2000】促销活动
CJOJ 2482 [POI2000]促销活动(STL优先队列,大根堆,小根堆) Description 促销活动遵守以下规则: 一个消费者 -- 想参加促销活动的消费者,在账单下记下他自己所付的费用 ...
- CJOJ 2482 【POI2000】促销活动(STL优先队列,大根堆,小根堆)
CJOJ 2482 [POI2000]促销活动(STL优先队列,大根堆,小根堆) Description 促销活动遵守以下规则: 一个消费者 -- 想参加促销活动的消费者,在账单下记下他自己所付的费用 ...
- 【bzoj2947】[Poi2000]促销
2947: [Poi2000]促销 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 181 Solved: 120[Submit][Status][D ...
- BZOJ_2947_[Poi2000]促销_堆
BZOJ_2947_[Poi2000]促销_堆 Description Bytelandish连锁超市委托你编写一个程序来模拟一项即将施行的促销活动,该活动的规则如下: ●想要参与的顾客,只需把他的个 ...
- 从电商平台促销活动看电商app开发趋势
据亿合科技小编了解到:尽管各大电商平台都进入了品质和品牌时代,但对于消费者来说,低价依然是一个有吸引力的因素.尼尔森<网络购物者趋势研究>报告显示,2016年价格敏感型购物者的比例从15% ...
- bzoj2947: [Poi2000]促销
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 178 Solved: 119[Submit][Status][Discuss] Descriptio ...
- 面试作业之浅析京东促销活动核心模型 - DDD
前言 京东作为中国最大的自营式B2C电商平台,提供一站式综合性购物,服务亿万家庭,涵盖3C.家电.消费品.服饰.家居家装.生鲜和新通路(B2B),满足了消费者的多元化需求.每天都会发布相关的促销活动, ...
- 亚马逊促销活动Promotion②:Money Off(满减折扣)的设置教程
满减.折扣是放之四海皆有效的促销手段,虽然亚马逊对卖家有诸多限制,但这个促销方式却是允许的,对亚马逊的卖家而言,这对提升商品销量.打造爆款都是极好的.今天小编来讲讲亚马逊的Money Off要怎么设置 ...
- vivo全球商城时光机 - 大型促销活动保障利器
一.背景 官网商城在双11.双12等大促期间运营同学会精心设计许多给到用户福利的促销活动,当促销活动花样越来越多后就会涉及到很多的运营配置工作(如指定活动有效期,指定活动启停状态,指定活动参与商品等等 ...
随机推荐
- UEditor工具栏上自定义按钮、图标、事件和右击菜单添加自定义按钮
首先我要说是,举例说的这个版本是1.2以上的,因为一些配置代码转移到了zh-cn.js里,其他没有变化.开门见山直接写:(我自定义的是在线美图功能) 第一步:找到ueditor.config.js文件 ...
- 损失函数 hinge loss vs softmax loss
1. 损失函数 损失函数(Loss function)是用来估量你模型的预测值 f(x) 与真实值 Y 的不一致程度,它是一个非负实值函数,通常用 L(Y,f(x)) 来表示. 损失函数越小,模型的鲁 ...
- php实现粘贴截图并完成上传功能
<?php header("Access-Control-Allow-Origin:*"); $url = 'http://'.$_SERVER['HTTP_HOST']; ...
- 配置python虚拟环境Virtualenv及pyenv
pyenv pyenv 可以让机器安装各种不同版本的python pyenv install --list 查看可以安装的python版本 pyenv versions 查看已安装的python版本 ...
- 置换群、Burnside引理与等价类计数问题
置换群.Burnside引理与等价类计数问题 标签: 置换群 Burnside引理 置换 说说我对置换的理解,其实就是把一个排列变成另外一个排列.简单来说就是一一映射.而置换群就是置换的集合. 比如\ ...
- 手机APP中使用history.back()返回没有效果的解决
样式是一个超链接A标签,通过点击事件来达到返回上一页的效果. 所以通常做饭是把A标签的href写成#,然后onClick事件,刚开始我只是当成一个普通点击事件,然后使用JS进行返回. 写法如下: &l ...
- 基于Centos7的autobahn-python+crossbar的环境搭建
一.基于centos7的crossbar安装(已经安装好python) (1) sudo yum update (2) sudo yum install gcc gcc-c++ make openss ...
- win7下通过easyBCD引导安装Ubuntu16.04(并处理遇到的坑)
Ubuntu16.04作为目前最新版本的ubuntu系统,相信很多人都想在自己的电脑上安装一下,然而系统的安装方法各式各样,u盘法.grub引导法等等,这里我将介绍在win7系统下用easyBCD软件 ...
- Docker第一弹:下载运行hello-world程序
1.需要安装好docker程序 没有安装的请看在centos 6.8下安装docker 2.从docker镜像仓库中拉去hello-world镜像 docker pull hello-world 3. ...
- 2017CCPC 网络选拔赛1003 Ramsey定理
Ramsey定理 任意6个人中,一定有三个人互为朋友,或者互相不是朋友. 证明 这里我就不证明了.下面链接有证明 鸽巢原理 Ramsey定理 AC代码 #include <stdio.h> ...