当前位置:网站首页>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;
}
边栏推荐
- eBPF Cilium实战(2) - 底层网络可观测性
- The reified keyword in kotlin is used for generics
- [IELTS speaking] Anna's oral learning records Part3
- [untitled]
- Installation and configuration of PLSQL
- Understanding of out covariance, in inversion and invariance in kotlin
- 一文了解如何源码编译Rainbond基础组件
- Rainbow 5.7.1 supports docking with multiple public clouds and clusters for abnormal alarms
- 国标GB28181协议视频平台EasyGBS新增拉流超时配置
- Merge sort and non comparison sort
猜你喜欢
The single value view in Splunk uses to replace numeric values with text
Vulnerability recurrence easy_ tornado
Lua 编程学习笔记
Exercise arrangement 2.10, 11
一种适用于应用频繁测试下快速查看Pod的日志的方法(grep awk xargs kuberctl)
SSM integration
发挥创客教育空间的广泛实用性
OpenVSCode云端IDE加入Rainbond一体化开发体系
Rainbow 5.7.1 supports docking with multiple public clouds and clusters for abnormal alarms
Are you holding back on the publicity of the salary system for it posts such as testing, development, operation and maintenance?
随机推荐
机器人教育在动手实践中的真理
2-3 lookup tree
Explore creativity in steam art design
[go ~ 0 to 1] obtain timestamp, time comparison, time format conversion, sleep and timer on the seventh day
Splunk查询csv lookup table数据动态查询
Xcit learning notes
发挥创客教育空间的广泛实用性
数据中台落地实施之法
Battery and motor technology have received great attention, but electric control technology is rarely mentioned?
SSM integration
字符串操作
Famine cloud service management script
Grpc, oauth2, OpenSSL, two-way authentication, one-way authentication and other column directories
Snyk 依赖性安全漏洞扫描工具
Coquette data completes the cloud native transformation through rainbow to realize offline continuous delivery to customers
A single game with goods increased by 100000, and the rural anchor sold men's clothes on top of the list?
PVTV2--Pyramid Vision TransformerV2学习笔记
MES system is a necessary choice for enterprise production
在Rainbond中实现数据库结构自动化升级
使用SwinUnet训练自己的数据集