当前位置:网站首页>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;
}
边栏推荐
- Merge sort and non comparison sort
- Thirteen forms of lambda in kotlin
- Easy to understand SSO
- Vulnerability recurrence easy_ tornado
- MySQL introduction - crud Foundation (establishment of the prototype of the idea of adding, deleting, changing and searching)
- Interpreting the practical application of maker thinking and mathematics curriculum
- Rainbow 5.7.1 supports docking with multiple public clouds and clusters for abnormal alarms
- [quick start of Digital IC Verification] 10. Verilog RTL design must know FIFO
- Caractéristiques de bisenet
- Don't stop chasing the wind and the moon. Spring mountain is at the end of Pingwu
猜你喜欢

Ebpf cilium practice (1) - team based network isolation

opencv学习笔记五——梯度计算/边缘检测

Splunk子查询模糊匹配csv中字段值为*
![[paper reading] icml2020: can autonomous vehicles identify, recover from, and adapt to distribution shifts?](/img/ff/81a7b2ec08a6a422a5cf578c1fed13.jpg)
[paper reading] icml2020: can autonomous vehicles identify, recover from, and adapt to distribution shifts?
![[quick start of Digital IC Verification] 10. Verilog RTL design must know FIFO](/img/56/82f4533b5bded73df222ef65101a72.png)
[quick start of Digital IC Verification] 10. Verilog RTL design must know FIFO

Vulnerability recurrence fastjson deserialization

Rainbond 5.6 版本发布,增加多种安装方式,优化拓扑图操作体验

GFS distributed file system

Through the "last mile" of legal services for the masses, fangzheng Puhua labor and personnel law self-service consulting service platform has been frequently "praised"

Opencv learning note 5 - gradient calculation / edge detection
随机推荐
Ebpf cilium practice (1) - team based network isolation
Iptables' state module (FTP service exercise)
Opencv learning note 3 - image smoothing / denoising
grpc、oauth2、openssl、双向认证、单向认证等专栏文章目录
GFS分布式文件系统
Pytoch (VI) -- model tuning tricks
Go语言中,函数是一种类型
Installation and configuration of PLSQL
Learn how to compile basic components of rainbow from the source code
Opencv learning notes 1 -- several methods of reading images
Several ways of lambda used in functions in kotlin (higher-order functions)
接口作为参数(接口回调)
Analysis of maker education in innovative education system
Rainbow 5.7.1 supports docking with multiple public clouds and clusters for abnormal alarms
[hard core science popularization] working principle of dynamic loop monitoring system
CCTV is so warm-hearted that it teaches you to write HR's favorite resume hand in hand
One click deployment of highly available emqx clusters in rainbow
IP-guard助力能源企业完善终端防泄密措施,保护机密资料安全
Standard function let and generic extension function in kotlin
单场带货涨粉10万,农村主播竟将男装卖爆单?