我能够通过示例测试案例,但是提交后我的解决方案失败了。 有人可以告诉我我要去哪里吗?
问题:
在XYZ社会中,邻居们彼此讨厌对方的态度。在社会上为迎接新年组织了各种活动。门票提供给每个房屋,上面写有整数。有些票证带有正整数,有些票证带有负整数。晚上,人们不得不将门票带到俱乐部俱乐部,合格的俱乐部成员将获得令人兴奋的礼物。赢得礼物的资格取决于最大数目,该数目可以由票数形成,同时要记住邻居彼此讨厌。由于邻居彼此讨厌,因此在最大和列表中两者不能在一起。
社会的主席辛格先生是一个明智的人,他知道社会中的邻居彼此不喜欢。另外,他也不想在别人面前变坏。因此,他想到了一个设计程序的想法,该程序将提供构成最大和的整数列表,因此该列表的所有成员都将获得礼物。这个想法的唯一问题是他不懂编程,所以他要你提供正确的整数列表。人们可能很烦人,但很聪明,如果您提供的清单没有达到最大数目,他们会战斗。
注意:写在个人机票上的整数可能是也可能不是 独特。如果有两个列表的最大和相等,则 第一个更大的元素的列表将被考虑。为更好的 理解,请查看样本测试中测试案例4的说明 案件。整数为0的彩票不被视为中奖 礼物。
输入格式 输入的第一行包括测试用例的数量T。
每个测试用例的第一行包括社会上的房屋数量(售票数量)N。
每个测试用例的第二行包括N个空格分隔的票证,上面写有整数。
约束
输出格式对于每个测试用例,将票证编号打印在一个纸中 形成最大和的行,格式类似于“样本测试” 情况。
TestCase 1示例
输入
5
5
-1 7 8 -5 4
4
3 2 1 -1
4
11 12 -2 -1
4
4 5 4 3
4
5 10 4 -1
输出
48
13
12
44
10
我的解决方案:
x=int(input(''))
for i in range(0,x):
y=int(input(''))
s=input('')
houses=s.split()
houses1=[int(item) for item in houses]
Nhouses=[]
even=[]
odd=[]
final=[]
final1=[]
for p in range(0,len(houses1)):
if p%2==0:
even.append(houses1[p])
else:
odd.append(houses1[p])
for i in houses1:
if i<0:
Nhouses.append(i)
if houses1==Nhouses:
maxi=max(Nhouses)
print(maxi)
else:
sum_even=0
sum_odd=0
for i in even:
if i>0:
sum_even+=i
final.append(i)
for i in odd:
if i>0:
sum_odd+=i
final1.append(i)
final.reverse()
final1.reverse()
final2=[]
if sum_even>sum_odd:
for j in final:
print(j,end="")
elif sum_odd>sum_even:
for j in final1:
print(j,end="")
else:
for i,j in zip(final,final1):
if i>j:
final2=final
break
else:
final2=final1
break
for j in final2:
print(j,end="")
print()
我的结果失败了,但是对于给定的测试用例是成功的。