题目可以理解为只知道卡牌的种类数与对应数量,在最倒霉的情况下提前知道几张牌能获胜(这个随机和至少有点歧义,倒霉应该好理解一点)
一共三种情况:
1.只有一种牌:必输
2.除了最多的牌,其它牌数量均为1:预知(最多的牌数量-1)张最多的牌,然后翻开其余任意两张牌即可(此时所有牌的数量都为1)
3.其余一般情况:预知出所有最多的牌,然后翻开一张最多的牌和一张其余任意牌即可
n=int(input())
for i in range(n):
t=int(input())
cards=[int(j) for j in input().split()]
cnt=0
for k in cards:
if k==1:
cnt+=1
if t==1:
print(-1)
elif cnt>=t-1:
print(max(cards)-1)
else:
print(max(cards))

京公网安备 11010502036488号