Pagini recente » Cod sursa (job #1397046) | Monitorul de evaluare | Cod sursa (job #2450145) | Monitorul de evaluare | Cod sursa (job #3005364)
NX = 500010
A = [0] * NX
B = [0] * NX
def merge_sort(l, r):
if l == r:
return
m = (l + r) // 2
merge_sort(l, m)
merge_sort(m + 1, r)
i, j, k = l, m + 1, l
while i <= m or j <= r:
if j > r or (i <= m and A[i] < A[j]):
B[k] = A[i]
i += 1
else:
B[k] = A[j]
j += 1
k += 1
for k in range(l, r + 1):
A[k] = B[k]
with open("algsort.in", "r") as f:
N = int(f.readline())
for i in range(1, N + 1):
A[i] = int(f.readline())
merge_sort(1, N)
with open("algsort.out", "w") as g:
for i in range(1, N + 1):
g.write(str(A[i]) + " ")