• 将 a数组排序。

  • 如果排序后是严格递增的,那么按这个顺序去拍就可以。

  • 如果有重复值,那么两个相同人数的窗口,你拍完第一个后,第二个在你排它的时候已经关闭(因为人数相同,拍完第一个时总时间 = 该人数,第二个窗口人数已经减到 0)。

  • 所以条件是:所有 a[i]互不相同

    n = int(input())
    a = list(map(int, input().split()))
    
    a.sort()
    
    for i in range(1, n):
        if a[i] == a[i - 1]:
            print("NO")
            break
    else:
        print("YES")