コードの何が問題になっていますか?それはグーグルキックスタート2020ラウンドAでREになります

Aug 22 2020

このコードで私がここに欠けているものは何ですか?Kickstart 2020ではREになりますが、ローカルマシンまたはhackereathコンパイラ(codejamコンパイラと同様)でテストすると、コードは正常に機能します。
問題のリンク:https://codingcompetitions.withgoogle.com/kickstart/round/000000000019ffc7/00000000001d3f56

def solve(a,balance):
    a.sort()
    house_Can_buy=0
    for i in a:
        if i<=balance:
            house_Can_buy+=1
            balance-=i
    return house_Can_buy
def main():
    a=int(input())
    arr2,res=[],[]
    for i in range(a):
        _,balance=list(map(int,input().split()))
        arr2=list(map(int,input().split()))
        result=solve(arr2,balance)
        res.append(result)
    for i,j in enumerate (res):
        print(f'Case #{i+1}: {j}')
main()

回答

1 YashShah Aug 22 2020 at 07:43

fの使用がREをもたらすprintステートメントで。

printステートメントでは、formatを使用してi +1とjを出力する必要があります。

すべてのテストケースに合格するには、配列を並べ替えて、欲張り法で家の数を計算する必要があります。

def solve(a,balance):
    house_Can_buy=0
    a.sort()
    for i in a:
        if i<=balance:
            house_Can_buy+=1
            balance-=i
    return house_Can_buy

def main():
    a=int(input())
    arr2,res=[],[]
    for i in range(a):
        _,balance=list(map(int,input().split()))
        arr2=list(map(int,input().split()))
        result=solve(arr2,balance)
        res.append(result)
    for i,j in enumerate (res):
        print('Case #{}: {}'.format(i+1,j))
main()