結果
問題 |
No.905 Sorted?
|
ユーザー |
|
提出日時 | 2022-05-29 17:53:01 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 334 ms / 2,000 ms |
コード長 | 1,000 bytes |
コンパイル時間 | 149 ms |
コンパイル使用メモリ | 82,268 KB |
実行使用メモリ | 99,072 KB |
最終ジャッジ日時 | 2024-09-21 00:26:05 |
合計ジャッジ時間 | 6,293 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
N = int(input()) A = list(map(int,input().split())) Q = int(input()) l = [] left = 0 while left < N: right = left + 1 while right < N and A[right - 1] <= A[right]: right += 1 l.append((left,right - 1)) left = right r = [] left = 0 while left < N: right = left + 1 while right < N and A[right - 1] >= A[right]: right += 1 r.append((left,right - 1)) left = right for _ in range(Q): s,t = map(int,input().split()) start = 0 end = len(l) while end - start > 1: mid = end + start >> 1 if l[mid][0] <= s: start = mid else: end = mid a,b = l[start] if t <= b: print(1,end = " ") else: print(0,end = " ") start = 0 end = len(r) while end - start > 1: mid = end + start >> 1 if r[mid][0] <= s: start = mid else: end = mid a,b = r[start] if t <= b: print(1) else: print(0)