1. 程式人生 > >科大訊飛-筆試程式設計-修改成績

科大訊飛-筆試程式設計-修改成績

修改成績

時間限制:C/C++語言 1000MS;其他語言 3000MS 記憶體限制:C/C++語言 65536KB;其他語言 589824KB

題目描述:

華老師的n個學生參加了一次模擬測驗,考出來的分數很糟糕,但是華老師可以將成績修改為[0,100]中的任意值,所以他想知道,如果要使所有人的成績的平均分不少於X分,至少要改動多少個人的分數?

輸入

第一行一個數T,共T組資料(T≤10)

接下來對於每組資料:

第一行兩個整數n和X。(1≤n≤1000, 0≤X≤100)

第二行n個整數,第i個數Ai表示第i個學生的成績。(0≤Ai≤100)

輸出

共T行,每行一個整數,代表最少的人數。

樣例輸入

2
5 60
59 20 30 90 100
5 60
59 20 10 10 100

樣例輸出

1
2

Hint

對於第一組資料,將59改成60即可
#多行輸入
x = list(map(int,input().split()))
y = []
while x != []:
    y.append(x)
    x = list(map(int,input().split()))
    
for i in range(1,len(y)-1,2):
    temp = y[i]
    score = y[i+1]
    sub = temp[0] * temp[1] - sum(score)
    score_100 = [100 - i for i in score]
    desc_100 = sorted(score_100, reverse = True)
    subtotal = desc_100[0]
    a = 1
    for i in range(1,len(desc_100)):
        if sub>subtotal:
            subtotal = subtotal + desc_100[i]
            a += 1
        else:
            break
    print(a)

對於Python的多行輸入一直不知道怎麼寫,只會寫成這樣了。

初學程式設計,如若有錯,請指正,共同學習,謝謝!