バックアップ/プリンタキュー/166


Question
質問リンク
Silver 3
Logic
  • 条件のオブジェクトが「ドキュメント番号」であることを確認します.したがって、ドキュメントが重要な場合は、「ドキュメント番号」リストとリストを別々に保存します.
  • の2つのリストは、条件に従って同時に実行されます.
    3-1. リスト線を使用して、1番目の要素と2番目の後続の要素を分離、比較します.2番目の要素リストにより重要な項目がある場合は、最初の要素を最後に送信します.
    3-2. 最も高い場合は、要素、popを出力します.(0)最初の要素を出力します.
  • Code
    from sys import stdin
    
    for _ in range(int(stdin.readline().strip())):
        N,M = map(int,stdin.readline().strip().split())
        raw = list(map(int,stdin.readline().strip().split()))
        num = [ i for i in range(N) ]
        cnt=0
        if len(raw)==1 : print(1)
        else:
            while True:
                if len(raw)==1:
                    print(cnt+1)
                    break
                if raw[0] < max(raw[1:]) :
                    raw = raw[1:] + [raw[0]]
                    num = num[1:] + [num[0]]
                else :
                    if num[0] == M :
                        print(cnt+1)
                        break
                    else :
                        cnt+=1
                        raw.pop(0)
                        num.pop(0)