NYOJ 754 黑心醫生(優先佇列)

2021-07-04 06:11:40 字數 1044 閱讀 8005

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度: 2

描述 南陽有一家灰常勢利的醫院,這家醫院有乙個灰常勢利的門診醫生,由於他的醫術比較高明,所以每天都有很多人來看他的門診。但是,他很勢利,所以他看病有乙個規矩,那就是優先給有錢的人看病。他事先了解了掛他的號的病人的家庭經濟情況,所以,當輪到某病人就診時,如果剩下的病人裡有比他更富有的病人,那麼他就必須得站到看病隊伍的最後面重新等待;如果沒有,那麼黑心醫生就會立即給他看病,而且保證能看好他的病(難怪他的生意這麼好哦!)。

現在我想知道當某病人看完病後黑心醫生一共看好了幾名病人,是不是很簡單

輸入

輸入包含多組測試資料。

每組資料佔兩行:

第一行:兩個整數n和m(n<1000),分別表示來看病的總人數和要詢問的病人掛的號(病人掛的號從0開始,從左到右依次累加)。

第二行:n個整數,分別對應病人的經濟情況(n個整數均能用32位整數表示)。

輸出輸出單獨佔一行,輸出當病號為m的病人看完病後,黑心醫生一共看好了幾名病人。

樣例輸入

1 0

54 2

1 2 3 4

6 01 1 9 1 1 1

樣例輸出

1

25

思路很簡單,用佇列儲存病人,用優先佇列儲存病人的財富,然後乙個乙個出隊,如果沒找到,出隊重新入隊

ac**:

#include#include#include#include#include#define maxn 1010

using namespace std;

struct s

d[maxn],c;

queues;

priority_queuess;

int main()

{ int n,k;

int i,j;

while(scanf("%d%d",&n,&k)!=eof)

{ for(i=0;i

nyoj 754 黑心醫生

描述 南陽有一家灰常勢利的醫院,這家醫院有乙個灰常勢利的門診醫生,由於他的醫術比較高明,所以每天都有很多人來看他的門診。但是,他很勢利,所以他看病有乙個規矩,那就是優先給有錢的人看病。他事先了解了掛他的號的病人的家庭經濟情況,所以,當輪到某病人就診時,如果剩下的病人裡有比他更富有的病人,那麼他就必須...

nyoj 55(優先佇列)

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 小明很想吃果子,正好果園果子熟了。在果園裡,小明已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。小明決定把所有的果子合成一堆。因為小明比較懶,為了省力氣,小明開始想點子了 每一次合併,小明可以把兩堆果子合併到一起,...

nyoj801 Haffman編碼 優先佇列實現

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 哈弗曼編碼大家一定很熟悉吧 不熟悉也沒關係,自己查去。現在給你一串字元以及它們所對應的權值,讓你構造哈弗曼樹,從而確定每個字元的哈弗曼編碼。當然,這裡有一些小規定 1.規定哈弗曼樹的左子樹編碼為0,右子樹編碼為1 2.若兩個字元...