def solution(x, a): covered_time = [-1] * x # Record the time, each position is covered uncovered = x # Record the number of uncovered position for index in range(len(a)): if covered_time[a[index] - 1] != -1: # This position is already covered continue # This position is to be covered covered_time[a[index] - 1] = index uncovered -= 1 if uncovered == 0: # All positions are covered return index # Finally, some positions are not covered return -1