001 輸出前k大的數

2021-10-23 00:09:25 字數 757 閱讀 3902

描述

給定乙個陣列,統計前k大的數並且把這k個數從大到小輸出。

輸入第一行包含乙個整數n,表示陣列的大小。n < 100000。

第二行包含n個整數,表示陣列的元素,整數之間以乙個空格分開。每個整數的絕對值不超過100000000。

第三行包含乙個整數k。k < n。

輸出從大到小輸出前k大的數,每個數一行。

樣例輸入

1045

6987

1230

5

樣例輸出

987

65

分治思想,摳細節較多,所以看**吧

#include

#include

using

namespace std;

void

swap

(int

& a,

int& b)

int k,n;

//移動,並返回基準值的下標

intgetindex

(int a,

int s,

int e)

return i;

}//找第k大的數,並且把比該元素大的全部移到右邊

void

findkth

(int a,

int s,

int e,

int k)

intmain()

分治 001 輸出前k大的數

總時間限制 10000ms 單個測試點時間限制 1000ms 記憶體限制 65536kb 描述 給定乙個陣列,統計前k大的數並且把這k個數從大到小輸出。輸入 第一行包含乙個整數n,表示陣列的大小。n 100000。第二行包含n個整數,表示陣列的元素,整數之間以乙個空格分開。每個整數的絕對值不超過10...

輸出前k大的數

010 輸出前k大的數 總time limit 10000ms 單個測試點時間限制 1000ms memory limit 65536kb description 給定乙個陣列,統計前k大的數並且把這k個數從大到小輸出。input 第一行包含乙個整數n,表示陣列的大小。n 100000。第二行包含n...

輸出前 k 大的數

總時間限制 10000ms 單個測試點時間限制 1000ms 記憶體限制 65536kb 描述 給定乙個陣列,統計前k大的數並且把這k個數從大到小輸出。輸入第一行包含乙個整數n,表示陣列的大小。n 100000。第二行包含n個整數,表示陣列的元素,整數之間以乙個空格分開。每個整數的絕對值不超過100...