第k個數
description
給你乙個整數序列和若干個問題,問題是這個序列的第i個元素到第j個元素的片斷中的第k大數是什麼?比如說給你的序列為(1, 5, 2, 6, 3, 7, 4),問題是(2,5,3),則從第2個元素到第5個元素為(5,2,6,3),排序以後是(2,3,5,6),則第三個數是5。
輸入:第一行為兩個整數n,m(1 <= n <= 100 000, 1 <= m <= 5 000),表示序列的元素個數和問題的個數,第二行為n個正整數的序列,每個整數為乙個32位整數,兩個數之間有乙個空格隔開。以後m行為問題,每個問題由三個整數表示i,j,k,第i個元素到第j個元素的片斷中的第k大數是什麼?(元素序號從1開始計數,i<=j,1<=k<=j-i+1)
輸出:每行輸出對應問題的結果。
sample input
7 31 5 2 6 3 7 4
2 5 3
4 4 1
1 7 3
sample output 56
3 #include
using namespace std;
typedef struct nodes;
nodes node[1000];
void quick_sort(int low,int high)
node[i]=key;
quick_sort(low,i-1);
quick_sort(i+1,high);}}
int main()
quick_sort(0,n-1);
while(cases--)
{int a,b,c,sum=0;
cin>>a>>b>>c;
for(i=0;i
第K個數 快速排序
題目描述 description 給定乙個長度為n 0輸入描述 input description 第一行為2個數n,k 含義如上題 第二行為n個數,表示這個序列 輸出描述 output description 如果m為質數則 第一行為 yes 沒有引號 第二行為這個數m 否則 第一行為 no 第二...
快速選擇第k個數
給定乙個長度為n的整數數列,以及乙個整數k,請用快速選擇演算法求出數列從小到大排序後的第k個數。輸入格式 第一行包含兩個整數 n 和 k。第二行包含 n 個整數 所有整數均在1 109範圍內 表示整數數列。輸出格式 輸出乙個整數,表示數列的第k小數。資料範圍 1 n 100000,1 k n 輸入樣...
AcWing 786 第k個數(C 演算法)
輸入格式 第一行包含兩個整數 n 和 k。第二行包含 n 個整數 所有整數均在1 109範圍內 表示整數數列。輸出格式 輸出乙個整數,表示數列的第k小數。資料範圍 1 n 100000,1 k n 輸入樣例 5 32 4 1 5 3 輸出樣例 32 基本思想 用快速選擇演算法。當分界點x左邊 有sl...