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)
文章標籤
全站熱搜