時間限制:
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.若兩個字元...