【发布时间】:2020-03-22 06:39:05
【问题描述】:
我为 Google Kickstart 2020 Round A 制作了一个程序,但它显示错误答案并跳过了测试集。 这就是问题
问题
有 N 栋房屋待售。第 i 间房子花费 Ai 美元购买。您的预算为 B 美元。
你最多可以买多少房子? 输入
输入的第一行给出了测试用例的数量,T.T 测试用例紧随其后。每个测试用例都以包含两个整数 N 和 B 的单行开始。第二行包含 N 个整数。第 i 个整数是 Ai,即第 i 个房子的成本。 输出
对于每个测试用例,输出一行包含 Case #x: y,其中 x 是测试用例编号(从 1 开始),y 是您可以购买的最大房屋数量。 限制
时间限制:每个测试集 15 秒。 内存限制:1GB。 1≤T≤100。 1≤B≤105。 1 ≤ Ai ≤ 1000,对于所有 i。 测试集 1
1 ≤ N ≤ 100。 测试集 2
1 ≤ N ≤ 105。 样本
输入
3 4 100 20 90 40 90 4 50 30 30 10 10 3 300 999 999 999
输出
案例 #1:2 案例#2:3 案例#3:0
在示例案例 #1 中,您的预算为 100 美元。您可以花 20 + 40 = 60 美元购买 1 号和 3 号房屋。 在示例案例 #2 中,您的预算为 50 美元。您可以花 30 + 10 + 10 = 50 美元购买第 1、第 3 和第 4 栋房屋。 在示例案例 #3 中,您的预算为 300 美元。你不能买任何房子(所以答案是0)。
注意:与以前的版本不同,在 Kick Start 2020 中,所有测试集都是可见的判定测试集,这意味着您在提交时会收到即时反馈。
我的代码是
T = int(input())
caselist = []
for i in range(T):
x = input()
x = x.split()
N = int(x[0])
B = int(x[1])
l = input()
l = l.split()
temp = []
for j in l:
temp.append(int(j))
temp.sort()
s = 0
n = 0
for k in temp:
s+=k
if s<=B:
n+=1
else:
print('Case #'+str(i+1)+': '+str(n))
break
只是帮助我这有什么问题.. 谢谢!
【问题讨论】:
-
这只是被问到25 minutes ago。你能告诉我们你的算法吗?什么测试失败了?
-
他们没有显示任何其他细节
-
您可以监视该线程以获取问题的答案,但算法看起来相同。希望他们会对其进行编辑以添加详细信息。
标签: python