結果
問題 | No.905 Sorted? |
ユーザー |
![]() |
提出日時 | 2025-03-20 20:22:40 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 172 ms / 2,000 ms |
コード長 | 863 bytes |
コンパイル時間 | 209 ms |
コンパイル使用メモリ | 82,144 KB |
実行使用メモリ | 129,936 KB |
最終ジャッジ日時 | 2025-03-20 20:24:39 |
合計ジャッジ時間 | 3,616 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
import sys def main(): data = sys.stdin.read().split() ptr = 0 N = int(data[ptr]) ptr += 1 A = list(map(int, data[ptr:ptr+N])) ptr += N Q = int(data[ptr]) ptr += 1 queries = [] for _ in range(Q): l = int(data[ptr]) r = int(data[ptr+1]) queries.append((l, r)) ptr += 2 n = N incr = [0] * n incr[-1] = n - 1 for i in range(n-2, -1, -1): if A[i] <= A[i+1]: incr[i] = incr[i+1] else: incr[i] = i decr = [0] * n decr[-1] = n - 1 for i in range(n-2, -1, -1): if A[i] >= A[i+1]: decr[i] = decr[i+1] else: decr[i] = i for l, r in queries: f = 1 if incr[l] >= r else 0 g = 1 if decr[l] >= r else 0 print(f, g) if __name__ == "__main__": main()