当前位置:网站首页>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;
}
边栏推荐
- Deit learning notes
- Ebpf cilium practice (2) - underlying network observability
- SSM 整合
- MySQL introduction - crud Foundation (establishment of the prototype of the idea of adding, deleting, changing and searching)
- Full text query classification
- Implement your own dataset using bisenet
- 使用SwinUnet训练自己的数据集
- Analyzing the influence of robot science and technology development concept on Social Research
- 饥荒云服管理脚本
- opencv学习笔记三——图像平滑/去噪处理
猜你喜欢
Openvscode cloud ide joins rainbow integrated development system
一种适用于应用频繁测试下快速查看Pod的日志的方法(grep awk xargs kuberctl)
Virtual address space
eBPF Cilium实战(2) - 底层网络可观测性
Bisenet features
[untitled]
One click deployment of highly available emqx clusters in rainbow
The field value in Splunk subquery fuzzy matching CSV is*
Merge sort and non comparison sort
Go语言中,函数是一种类型
随机推荐
Interview questions (CAS)
Open3d ISS key points
Practice of combining rook CEPH and rainbow, a cloud native storage solution
MySQL introduction - crud Foundation (establishment of the prototype of the idea of adding, deleting, changing and searching)
Bisenet features
Go语言中,函数是一种类型
Automatic upgrading of database structure in rainbow
SSM integration
Golang 编译约束/条件编译 ( // +build <tags> )
go写一个在一定时间内运行的程序
Openvscode cloud ide joins rainbow integrated development system
Splunk query CSV lookup table data dynamic query
Opencv learning notes 1 -- several methods of reading images
[IELTS speaking] Anna's oral learning records Part3
The single value view in Splunk uses to replace numeric values with text
饥荒云服管理脚本
Rainbow 5.7.1 supports docking with multiple public clouds and clusters for abnormal alarms
POJ - 3784 Running Median(对顶堆)
2-3查找树
探索STEAM艺术设计中的创造力