指定された区間に関する操作についてです. 指定された区間をスライスで切り出して処理をしています.
# ITP2_3_A
N = list(map(int,input().split(" ")))
print(f"{min(N)} {max(N)}")
# ITP2_3_B
n = input()
N = list(map(int,input().split(" ")))
m = int(input())
for _ in range(m):
query = list(map(int,input().split(" ")))
# 最小値の報告
if query[0] == 0:
print(min(N[query[1]:query[2]]))
else:
print(max(N[query[1]:query[2]]))
# ITP2_3_C
n = input()
N = list(map(int,input().split(" ")))
m = int(input())
for _ in range(m):
query = list(map(int,input().split(" ")))
# count を使う
print(N[query[0]:query[1]].count(query[2]))
# ITP2_3_D
n = input()
A = input()
m = int(input())
B = input()
# 両方の文字が存在するところまでは単純な比較でよい
min_length= min(len(A),len(B))
if A[:min_length] > B[:min_length]:
print(0)
elif A[:min_length] < B[:min_length]:
print(1)
# 最後まで決着がつかなかった場合は長さの比較
else:
print(int(len(A)<len(B)))