close
Content

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

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分鐘。

Input
輸入檔中的第一行有一個正整數N,代表共有N個病患前來看診。在輸入檔的第二行中,則有N個以一個空白相間隔的正整數,分別依序代表這N個病患抵達診所的時間。
Output
請根據輸入檔的資料,輸出黑傑克在第幾分鐘時離開診所
Sample Input #1
3
1 3 41
Sample Output #1
41

第二筆測資:

10

1 2 3 5 9 10 30 40 74 80

輸出115

第五筆測資:

5

10 20 30 40 50

輸出85

 

python:

notuse=int(input())
arr=list(map(int,input().split()))
now=arr[0] #now為看診結束的時間
i=0 #跑迴圈
limit=30 
while i<notuse and arr[i]<limit: #當新來病人時間為30以內  這裡的" i<notuse"一定要放在前面!
    if arr[i]<=now:now+=5 #當今天新的病人來時,醫生還在看診,(病人等醫生看完前一位),就從前一位病人結束時間+5分鐘
    else: now=arr[i]+5 #arr[i]>now  醫生等病人,病人來後醫生馬上看,時間為病人來的時間+5分鐘
    limit=now+30 #醫生等候時間重新調整成結束看診往後30分鐘
    i+=1 #下一位病人
print(limit)

 

 

arrow
arrow
    文章標籤
    python 高中生程式解題
    全站熱搜
    創作者介紹
    創作者 趴趴熊日常 的頭像
    趴趴熊日常

    資工趴趴熊的小天地

    趴趴熊日常 發表在 痞客邦 留言(0) 人氣()