You are on page 1of 2

test_input = [

('''1
1'''
,'''1'''),
##############
('''2
1 1'''
,'''1 1'''),
##############
('''2
1 2'''
,'''1 2'''),
##############
('''2
2 1'''
,'''2 2
1 2'''),
##############
('''3
2 4 4'''
,'''2 4 4'''),
##############
('''3
2 4 2'''
,'''2 4 4
2 2 4'''),
##############
('''3
2 4 5'''
,'''2 4 5'''),
##############
('''3
2 4 3'''
,'''2 4 4
2 3 4'''),
##############
('''3
2 4 1'''
,'''2 4 4
2 2 4
1 2 4''')
]
def p(ar):
print(' '.join(map(str,ar)))
def main():
input() # we don't care about the array lenght
ar = [int(i) for i in input().split()]
v = ar[len(ar)-1]
# corner case
if len(ar) == 1: p(ar); return
for i in reversed(range(len(ar)-1)):
if ar[i] > v:
ar[i+1] = ar[i]
p(ar)
if i == 0:

ar[i] = v
p(ar)
else:
ar[i+1] = v
p(ar)
break
def test():
log = []
# print() overloaded
#######################################
global print
def print(*args, **kwargs):
log.append(' '.join(str(elem) for elem in args))
#__builtins__.print(*args, **kwargs)
#######################################
global input
def input(idx = None, generator = [None, -1]):
if idx is not None:
generator[0] = test_input[idx][0].split('\n')
generator[1] = -1
return
generator[1] += 1
if(generator[1] < len(generator[0])):
return generator[0][generator[1]]
return ''
for idx, entry in enumerate(test_input):
log = []
input(idx)
main()
if '\n'.join(log) == entry[1]: __builtins__.print('TEST', idx, '
: PASSED')
else: __builtins__.print('TEST', idx, ': FAILED')
test()
#main()

You might also like