24h購物| | PChome| 登入
2011-06-10 21:16:51| 人氣1,186| 回應0 | 上一篇 | 下一篇

d889. 2.黑傑克(jack)

推薦 0 收藏 0 轉貼0 訂閱站台

http://zerojudge.tw/ShowProblem?problemid=d889

內容 :

黑傑克是為遠近馳名的醫生,對於各種疑難雜 症,他總是對症下藥,並且藥到病除;更難能可貴的是,黑傑克醫生對於貧窮的百姓,一律不收取任何的醫療費用,因此他的義診行為,以廣夠大家一致的推崇與稱 頌,每日慕名而來的病患更是絡繹不絕。為了服務更多的病患,黑傑克立下了看診規則如下:

1.每位病患看診時間,無論病症輕重,一律為五分鐘整。

2.依照先來後到的原則依序看診(恕不接受插隊與請託)。

3.醫師將全力看診,只要有病患候診,便不會中途休息。

4.為服務更多地區的病患,若連續三十分鐘(不含三十分鐘整)沒有病患候診,便結束當地的行程,並前往下一個村莊看診。

舉 例來說:若黑傑克在第0分中時抵達診所,三位病患分別在第1,3,41分鐘時抵達診所,則黑傑克會依序看診第1位病患(第1至5分鐘)旱地2位病患(第6 至10分鐘),然後等待30分鐘(第11至40分鐘),由於都沒有病患前來診所看診,便結束看診,並於第41分鐘啟程前往下一間診所。因此儘管在第41分 鐘時,又有病患前來診所,但由於黑傑克已經離開了,便無法接受看診。

請寫一個程式,計算黑傑克在第幾分鐘時離開診所。

條件限制:

(1)在所有的測試資料中, 我們假設黑傑克都是在第0分鐘時抵達診所

(2)前來看診的病患人數為N,1<=N<=100,且第N個病患抵達診所的時間,必定早於第10,000分鐘。

輸入說明 :

輸入檔中的第一行有一個正整數N,代表共有N個病患前來看診。在輸入檔的第二行中,則有N個以一個空白相間隔的正整數,分別依序代表這N個病患抵達診所的時間。

輸出說明 :

請根據輸入檔的資料,輸出黑傑克在第幾分鐘時離開診所

範例輸入 :

3
1 3 41

範例輸出 :

41

提示 :

(1)測資有誤請告知感謝

(2)另外兩題本人都只過了局部測資

請會的人幫忙出吧

出處 :

99北市賽 (管理:leopan0922)



/**********************************************************************************/
/*  Problem: d889 "2.黑傑克(jack)" from 99北市賽                            */
/*  Language: C                                                                   */
/*  Result: AC (4ms, 308KB) on ZeroJudge                                          */
/*  Author: morris1028 at 2011-06-09 23:06:37                                     */
/**********************************************************************************/


#include<stdio.h>
int next(int mark[]) {
    static int index = 0;
    while(1) {
        if(mark[index]) {
            mark[index]--;
            return index;
        }
        else index++;
    }
}
main() {
    int n, a, x;
    while(scanf("%d", &n) == 1)  {
        int mark[10001] = {};
        for(a = 0; a < n; a++)
            scanf("%d", &x), mark[x]++;
        int Ans = 0;
        for(a = 0; a < n; a++) {
            x = next(mark);
            if(x > Ans + 29) break;
            else {
                if(x < Ans) Ans += 5;
                else Ans = x + 5;
            }
        }
        Ans += 30;
        printf("%d\n", Ans);
    }
    return 0;
}

台長: Morris
人氣(1,186) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類 | 個人分類: 資訊競賽 |
此分類下一篇:d913. 1. 彈珠配置
此分類上一篇:d890. 3.禮物分配(gift)

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文