頭條校招(今日頭條2017秋招真題)1——python解法

題目描述

頭條的2017校招開始了!爲了這次校招,我們組織了一個規模宏大的出題團隊。每個出題人都出了一些有趣的題目,而我們現在想把這些題目組合成若干場考試出來。在選題之前,我們對題目進行了盲審,並定出了每道題的難度係數。一場考試包含3道開放性題目,假設他們的難度從小到大分別爲a, b, c,我們希望這3道題能滿足下列條件:

a<= b<= c
b - a<= 10
c - b<= 10

所有出題人一共出了n道開放性題目。現在我們想把這n道題分佈到若干場考試中(1場或多場,每道題都必須使用且只能用一次),然而由於上述條件的限制,可能有一些考試沒法湊夠3道題,因此出題人就需要多出一些適當難度的題目來讓每場考試都達到要求。然而我們出題已經出得很累了,你能計算出我們最少還需要再出幾道題嗎?

n = input()
d = [int(x) for x in raw_input().split()]
d.sort()
previous = 0
sum = 0
per = 1
while len(d):
    if per == 1:
        previous = d.pop(0)
        per += 1
    elif per == 2:
        if d[0] - previous > 10 :
            previous += 10
            sum += 1
            per += 1
        else:
            previous = d.pop(0)
            per += 1
    elif per ==3:
        if d[0] - previous > 10 :
            previous += 10
            sum += 1
            per = 1
        else:
            previous = d.pop(0)
            per = 1
if per != 1:
    sum += 4 - per 
print(sum)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章