動態中位數

2021-10-02 20:17:02 字數 1068 閱讀 1954

依次讀入乙個整數序列,每當已經讀入的整數個數為奇數時,輸出已讀入的整數構成的序列的中位數。

輸入格式

第一行輸入乙個整數p,代表後面資料集的個數,接下來若干行輸入各個資料集。

每個資料集的第一行首先輸入乙個代表資料集的編號的整數。

然後輸入乙個整數m,代表資料集中包含資料的個數,m一定為奇數,資料之間用空格隔開。

資料集的剩餘行由資料集的資料構成,每行包含10個資料,最後一行資料量可能少於10個,資料之間用空格隔開。

輸出格式

對於每個資料集,第一行輸出兩個整數,分別代表資料集的編號以及輸出中位數的個數(應為資料個數加一的二分之一),資料之間用空格隔開。

資料集的剩餘行由輸出的中位數構成,每行包含10個資料,最後一行資料量可能少於10個,資料之間用空格隔開。

輸出中不應該存在空行。

資料範圍

1≤p≤1000,

1≤m≤9999

輸入樣例:31

9123

4567

8929

9876

5432

132323

411322-

324-31

-11-8

-735

103211

-311-45

-67-73

-81-99

-332456

輸出樣例:15

1234

5259

8765

3122323

2222133

553-

3-7-

3

#include

using

namespace std;

int p, t, m;

intmain()

printf

("%d "

, q1.

top())

;}else}if

(!(i %20)

)puts(""

);}puts(""

);}return0;

}

動態中位數

178.動態中位數 統計描述 提交自定義測試 題目描述 輸入n個32位有符號整數,當已輸入的個數為奇數個時,輸出此時的中位數。輸入描述 第一行乙個整數n 第二行n個32位有符號整數。輸出描述 輸出一行,n 2 上取整 個中位數,中間用空格隔開。對於 40 資料 n 1000 對於所有資料 n 100...

動態中位數

題意 注 本文的 中的輸出不嚴格正確,反正loj的資料也沒多強,不會pe。如果後面加強了當我沒說 沒錯,第乙個還是我的做法。記得是哪年的scp還是noip初賽竟然程式題就是這個思路,然後我照搬了。我們這道題目反著考慮,它讓我們加數,我們就刪除數字,從後往前刪除數字,我們先建乙個排好序的鍊錶,然後從中...

動態中位數

include include include include define fir i,a,b for int i a i b i using namespace std priority queue,greater q1,kong1 priority queueq2,kong2 void ini...