当前位置:网站首页>POJ - 3784 running medium
POJ - 3784 running medium
2022-07-07 08:31:00 【WA_ automata】
POJ - 3784 Running Median( To the top pile )
Description
For this problem, you will write a program that reads in a sequence of 32-bit signed integers. After each odd-indexed value is read, output the median (middle value) of the elements received so far.
Input
The first line of input contains a single integer P, (1 ≤ P ≤ 1000), which is the number of data sets that follow. The first line of each data set contains the data set number, followed by a space, followed by an odd decimal integer M, (1 ≤ M ≤ 9999), giving the total number of signed integers to be processed. The remaining line(s) in the dataset consists of the values, 10 per line, separated by a single space. The last line in the dataset may contain less than 10 values.
Output
For each data set the first line of output contains the data set number, a single space and the number of medians output (which should be one-half the number of input values plus one). The output medians will be on the following lines, 10 per line separated by a single space. The last line may have less than 10 elements, but at least 1 element. There should be no blank lines in the output.
Sample Input
3
1 9
1 2 3 4 5 6 7 8 9
2 9
9 8 7 6 5 4 3 2 1
3 23
23 41 13 22 -3 24 -31 -11 -8 -7
3 5 103 211 -311 -45 -67 -73 -81 -99
-33 24 56
Sample Output
1 5
1 2 3 4 5
2 5
9 8 7 6 5
3 12
23 23 22 22 13 3 5 5 3 -3
-7 -3
Open two stacks , One is big root pile , One is the small root pile , Then those less than the median are put in the big root pile , Those larger than the median are put in the small root pile , if , The number of a heap is greater than that of the current sequence 1 2 \frac{1}{2} 21, Then move the extra number , Until the number of two heaps is equal .
#include<cstdio>
#include<vector>
#include<queue>
using namespace std;
int main()
{
int T;scanf("%d",&T);
while(T--)
{
int m,n;scanf("%d%d",&m,&n);
priority_queue<int> max_heap;
priority_queue<int,vector<int>,greater<int> > min_heap;
printf("%d %d\n",m,(n+1)/2);
int cnt=0;
for(int i=0;i<n;i++)
{
int t;scanf("%d",&t);
max_heap.push(t);
if(min_heap.size() && min_heap.top() < max_heap.top())
{
int a=min_heap.top(),b=max_heap.top();
min_heap.pop(),max_heap.pop();
min_heap.push(b),max_heap.push(a);
}
if(max_heap.size()>min_heap.size()+1)
{
min_heap.push(max_heap.top());
max_heap.pop();
}
if(i%2==0)
{
printf("%d ",max_heap.top());
if(++cnt%10==0) puts("");
}
}
if(cnt%10) puts("");
}
return 0;
}
边栏推荐
- opencv学习笔记四——膨胀/腐蚀/开运算/闭运算
- Standard function let and generic extension function in kotlin
- CCTV is so warm-hearted that it teaches you to write HR's favorite resume hand in hand
- [quick start of Digital IC Verification] 12. Introduction to SystemVerilog testbench (svtb)
- Bisenet features
- 国标GB28181协议视频平台EasyGBS新增拉流超时配置
- Snyk dependency security vulnerability scanning tool
- Exercise arrangement 2.10, 11
- The use of generics and vararg variable parameters in kotlin
- [quick start of Digital IC Verification] 13. SystemVerilog interface and program learning
猜你喜欢

Opencv learning note 5 - gradient calculation / edge detection

Using helm to install rainbow in various kubernetes

Rainbow 5.7.1 supports docking with multiple public clouds and clusters for abnormal alarms

Explore creativity in steam art design

How to realize the high temperature alarm of the machine room in the moving ring monitoring system

Vulnerability recurrence fastjson deserialization

单场带货涨粉10万,农村主播竟将男装卖爆单?

SSM integration

JS copy picture to clipboard read clipboard

Installation and configuration of PLSQL
随机推荐
【雅思口语】安娜口语学习记录 Part2
iptables 之 state模块(ftp服务练习)
BiSeNet的特点
opencv学习笔记一——读取图像的几种方法
Use of any superclass and generic extension function in kotlin
Use of out covariance and in inversion in kotlin
Interface as a parameter (interface callback)
一种适用于应用频繁测试下快速查看Pod的日志的方法(grep awk xargs kuberctl)
Rainbond 5.6 版本发布,增加多种安装方式,优化拓扑图操作体验
2-3查找树
The truth of robot education in hands-on practice
Battery and motor technology have received great attention, but electric control technology is rarely mentioned?
Interpreting the practical application of maker thinking and mathematics curriculum
【无标题】
Pvtv2--pyramid vision transformer V2 learning notes
Famine cloud service management script
Zcmu--1396: queue problem (2)
Openvscode cloud ide joins rainbow integrated development system
Domain specific language / DSL in kotlin
[quick start of Digital IC Verification] 11. Introduction to Verilog testbench (VTB)