題目描述
k路歸并問題:
把k個有序表合并成一個有序表。( k <= 10^4 )
輸入輸出格式
輸入格式:
輸入數據共有 2*k+1 行。
第一行,一個整數k( k <= 10^4 ),表示有k個有序表(均為從小至大有序)。
從第2行開始,接下來共有2*k行,第 2*(i-1)+2 行為一個整數ni( ni <= 100 ),第 2*(i-1)+3 行共有ni個整數,每個整數均小于2^31。( 1 <= i <= k )
輸出格式:
輸出數據一行,合并后的有序表(從小至大排序,每個整數之間有一個空格)。
提示信息
數據范圍:
30%數據:k <= 10
50%數據:k <= 100
70%數據:k <= 1000
100%數據:k <= 10000,ni <= 100
算法分析:
最裸題目
#include<bits/stdc++.h>
using namespace std;
priority_queue<int,vector<int>,greater<int> > p;
int main()
{int k;cin>>k;for(int i=1;i<=k;i++){int n;cin>>n;for(int j=1;j<=n;j++){int x;cin>>x;p.push(x);}}while(!p.empty()){cout<<p.top()<<" ";p.pop();}return 0;
}