結果

問題 No.905 Sorted?
ユーザー lloyz
提出日時 2022-05-02 00:50:19
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 354 ms / 2,000 ms
コード長 619 bytes
コンパイル時間 135 ms
コンパイル使用メモリ 82,516 KB
実行使用メモリ 94,584 KB
最終ジャッジ日時 2024-07-01 03:07:05
合計ジャッジ時間 6,330 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

n = int(input())
A = list(map(int, input().split()))

U = [0 for _ in range(n)]
L = [0 for _ in range(n)]
U[0] = L[0] = 1
u = l = 1
for i in range(1, n):
    if A[i] >= A[i - 1]:
        U[i] = 1
        u += 1
    else:
        U[i] -= u
        u = 0
    if A[i] <= A[i - 1]:
        L[i] = 1
        l += 1
    else:
        L[i] -= l
        l = 0
for i in range(1, n):
    U[i] += U[i - 1]
    L[i] += L[i - 1]

q = int(input())
for _ in range(q):
    l, r = map(int, input().split())
    ANS = [0, 0]
    if U[r] - U[l] == r - l:
        ANS[0] = 1
    if L[r] - L[l] == r - l:
        ANS[1] = 1
    print(*ANS)
0