CodingContest:邻居和新年晚会问题

时间:2019-05-20 18:36:39

标签: python-3.x

我能够通过示例测试案例,但是提交后我的解决方案失败了。 有人可以告诉我我要去哪里吗?

问题:

在XYZ社会中,邻居们彼此讨厌对方的态度。在社会上为迎接新年组织了各种活动。门票提供给每个房屋,上面写有整数。有些票证带有正整数,有些票证带有负整数。晚上,人们不得不将门票带到俱乐部俱乐部,合格的俱乐部成员将获得令人兴奋的礼物。赢得礼物的资格取决于最大数目,该数目可以由票数形成,同时要记住邻居彼此讨厌。由于邻居彼此讨厌,因此在最大和列表中两者不能在一起。

社会的主席辛格先生是一个明智的人,他知道社会中的邻居彼此不喜欢。另外,他也不想在别人面前变坏。因此,他想到了一个设计程序的想法,该程序将提供构成最大和的整数列表,因此该列表的所有成员都将获得礼物。这个想法的唯一问题是他不懂编程,所以他要你提供正确的整数列表。人们可能很烦人,但很聪明,如果您提供的清单没有达到最大数目,他们会战斗。

  

注意:写在个人机票上的整数可能是也可能不是   独特。如果有两个列表的最大和相等,则   第一个更大的元素的列表将被考虑。为更好的   理解,请查看样本测试中测试案例4的说明   案件。整数为0的彩票不被视为中奖   礼物。

输入格式 输入的第一行包括测试用例的数量T。

每个测试用例的第一行包括社会上的房屋数量(售票数量)N。

每个测试用例的第二行包括N个空格分隔的票证,上面写有整数。

约束

  • 1 <= T <= 10
  • 1 <= N <= 10000
  • -1000 <= Integer_on_Ticket <= 1000
  

输出格式对于每个测试用例,将票证编号打印在一个纸中   形成最大和的行,格式类似于“样本测试”   情况。

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()
  

我的结果失败了,但是对于给定的测试用例是成功的。

0 个答案:

没有答案