5 条题解

  • -5
    @ 2024-10-23 11:37:20
    def f(lt,s,e,t,mx): 
        flag=False
        while s!=e:
            if t==lt[s]:
                flag=True
                break
            s=(s+1)%mx
        return flag
    
    m,n = map(int,input( ).split( ))   
    la = list(map(int,input( ).split( )))   
    maxsize=m+1
    lb=[-1]*maxsize
    head,tail=0,0
    ans=0
    for i in range(n):
        t=la[i]
        if not f(lb,head,tail,t,maxsize):
            if (tail+1)%maxsize==head:
                head=(head+1)%maxsize
            lb[tail]=t
            tail=(tail+1)%maxsize
            ans+=1
    print(ans)
    

    信息

    ID
    128
    时间
    1000ms
    内存
    128MiB
    难度
    5
    标签
    递交数
    634
    已通过
    241
    上传者