Integers K, M and a non-empty array A consisting of N integers, not bigger than M, are given.
The leader of the array is a value that occurs in more than half of the elements of the array, and the segment of the array is a sequence of consecutive elements of the array.
You can modify A by choosing exactly one segment of length K and increasing by 1 every element within that segment.
The goal is to find all of the numbers that may become a leader after performing exactly one array modification as described above.
Write a function:
def solution(K, M, A)
that, given integers K and M and an array A consisting of N integers, returns an array of all numbers that can become a leader, after increasing by 1 every element of exactly one segment of A of length K. The returned array should be sorted in ascending order, and if there is no number that can become a leader, you should return an empty array. Moreover, if there are multiple ways of choosing a segment to turn some number into a leader, then this particular number should appear in an output array only once.
For example, given integers K = 3, M = 5 and the following array A:
A[0] = 2 A[1] = 1 A[2] = 3 A[3] = 1 A[4] = 2 A[5] = 2 A[6] = 3the function should return [2, 3]. If we choose segment A[1], A[2], A[3] then we get the following array A:
A[0] = 2 A[1] = 2 A[2] = 4 A[3] = 2 A[4] = 2 A[5] = 2 A[6] = 3and 2 is the leader of this array. If we choose A[3], A[4], A[5] then A will appear as follows:
A[0] = 2 A[1] = 1 A[2] = 3 A[3] = 2 A[4] = 3 A[5] = 3 A[6] = 3and 3 will be the leader.
And, for example, given integers K = 4, M = 2 and the following array:
A[0] = 1 A[1] = 2 A[2] = 2 A[3] = 1 A[4] = 2the function should return [2, 3], because choosing a segment A[0], A[1], A[2], A[3] and A[1], A[2], A[3], A[4] turns 2 and 3 into the leaders, respectively.
Write an efficient algorithm for the following assumptions:
- N and M are integers within the range [1..100,000];
- K is an integer within the range [1..N];
- each element of array A is an integer within the range [1..M].
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count < N/2:
leader = element
def solution(K, M, A):
# write your code in Python 3.6
pass
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def solution(K, M, A):
# write your code in Python 3.6
pass
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def solution(K, M, A):
# write your code in Python 3.6
pass
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A,
def solution(K, M, A):
# write your code in Python 3.6
pass
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K,
def solution(K, M, A):
# write your code in Python 3.6
pass
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
def solution(K, M, A):
# write your code in Python 3.6
pass
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for x in B
def solution(K, M, A):
# write your code in Python 3.6
pass
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for x in B:
x = x + 1
def solution(K, M, A):
# write your code in Python 3.6
pass
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for x in B:
x = x + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
# write your code in Python 3.6
pass
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, K
A[start_index:start_index + K] = B
def solution(K, M, A):
# write your code in Python 3.6
pass
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
# write your code in Python 3.6
pass
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
N = len(A)
A_c = copy(A)
leaders = set()
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
N = len(A)
A_c = copy(A)
leaders = set()
for i in range(0, len(A) - K + 1
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
A_c = copy(A)
leaders = set()
for i in range(0, len(A) - K + 1):
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
A_c = copy(A)
leaders = set()
for i in range(0, len(A) - K + 1):
A = copy(A_c)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
for i in range(0, len(A) - K + 1):
A_c = copy(A)
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
for i in range(0, len(A) - K + 1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
for i in range(0, len(A) - K):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list =
return so
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
for i in range(0, len(A) - K):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
for i in range(0, len(A) - K):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
Traceback (most recent call last): File "exec.py", line 149, in <module> main() File "exec.py", line 111, in main result = solution( K, M, A ) File "/tmp/solution.py", line 27, in solution leader = get_leader(A) File "/tmp/solution.py", line 10, in get_leader if count > N/2: NameError: name 'N' is not defined
Traceback (most recent call last): File "exec.py", line 149, in <module> main() File "exec.py", line 111, in main result = solution( K, M, A ) File "/tmp/solution.py", line 27, in solution leader = get_leader(A) File "/tmp/solution.py", line 10, in get_leader if count > N/2: NameError: name 'N' is not defined
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > le/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
for i in range(0, len(A) - K):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
for i in range(0, len(A) - K):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
for i in range(0, len(A) - K + 1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
N
for i in range(0, len(A) - K + 1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N - K + 1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
for i in range(0, len(B)):
B[i] = B[i] + 1
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index + K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
print(
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
print("Start_index = {}".format(start_index)
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
print("Start_index = {}".format(start_index)
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
Traceback (most recent call last): File "exec.py", line 149, in <module> main() File "exec.py", line 90, in main sol = __import__('solution') File "/tmp/solution.py", line 16 B = A[start_index:start_index + K] ^ SyntaxError: invalid syntax
Traceback (most recent call last): File "exec.py", line 149, in <module> main() File "exec.py", line 90, in main sol = __import__('solution') File "/tmp/solution.py", line 16 B = A[start_index:start_index + K] ^ SyntaxError: invalid syntax
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
print("Start_index = {}".format(start_index)(
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
print("Start_index = {}".format(start_index))
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
Start_index = 0 Start_index = 1 Start_index = 2 Start_index = 3 Start_index = 4
Start_index = 0 Start_index = 1
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
print("Start_index = {}".format(start_index))
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
print("Array: {}, leader:".format(A, leader)
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
return leader
def increment_segment(A, K, start_index):
print("Start_index = {}".format(start_index))
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
print("Array: {}, leader: {}".format(A, leader))
return leader
def increment_segment(A, K, start_index):
print("Start_index = {}".format(start_index))
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
print("Array: {}, leader: {}".format(A, leader))
return leader
def increment_segment(A, K, start_index):
print("Start_index = {}".format(start_index))
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
Start_index = 0 Array: [2, 1, 3, 1, 2, 2, 3], leader: None Start_index = 1 Array: [2, 1, 3, 1, 2, 2, 3], leader: None Start_index = 2 Array: [2, 1, 3, 1, 2, 2, 3], leader: None Start_index = 3 Array: [2, 1, 3, 1, 2, 2, 3], leader: None Start_index = 4 Array: [2, 1, 3, 1, 2, 2, 3], leader: None
Start_index = 0 Array: [1, 2, 2, 1, 2], leader: 2 Start_index = 1 Array: [1, 2, 2, 1, 2], leader: 2
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
if count > len(A)/2:
leader = element
print("Array: {}, leader: {}".format(A, leader))
return leader
def increment_segment(A, K, start_index):
print("Start_index = {}".format(start_index))
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
print("Array: {}, leader: {}".format(A, leader))
return leader
def increment_segment(A, K, start_index):
print("Start_index = {}".format(start_index))
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
print("Array: {}, leader: {}".format(A, leader))
return leader
def increment_segment(A, K, start_index):
print("Start_index = {}".format(start_index))
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
Start_index = 0 Array: [2, 1, 3, 1, 2, 2, 3], leader: None Start_index = 1 Array: [2, 1, 3, 1, 2, 2, 3], leader: None Start_index = 2 Array: [2, 1, 3, 1, 2, 2, 3], leader: None Start_index = 3 Array: [2, 1, 3, 1, 2, 2, 3], leader: None Start_index = 4 Array: [2, 1, 3, 1, 2, 2, 3], leader: None
Start_index = 0 Array: [1, 2, 2, 1, 2], leader: 2 Start_index = 1 Array: [1, 2, 2, 1, 2], leader: 2
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
print("Array: {}, leader: {}".format(A, leader))
return leader
def increment_segment(A, K, start_index):
##print("Start_index = {}".format(start_index))
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
print("Array: {}, leader: {}".format(A, leader))
return leader
def increment_segment(A, K, start_index):
##print("Start_index = {}".format(start_index))
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
Array: [2, 1, 3, 1, 2, 2, 3], leader: None Array: [2, 1, 3, 1, 2, 2, 3], leader: None Array: [2, 1, 3, 1, 2, 2, 3], leader: None Array: [2, 1, 3, 1, 2, 2, 3], leader: None Array: [2, 1, 3, 1, 2, 2, 3], leader: None
Array: [1, 2, 2, 1, 2], leader: 2 Array: [1, 2, 2, 1, 2], leader: 2
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
print("Array: {}, leader: {}".format(A, leader))
return leader
def increment_segment(A, K, start_index):
##print("Start_index = {}".format(start_index))
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
print("Array: {}, leader: {}".format(A, leader))
return leader
def increment_segment(A, K, start_index):
##print("Start_index = {}".format(start_index))
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
Array: [3, 2, 4, 1, 2, 2, 3], leader: None Array: [2, 2, 4, 2, 2, 2, 3], leader: 2 Array: [2, 1, 4, 2, 3, 2, 3], leader: None Array: [2, 1, 3, 2, 3, 3, 3], leader: 3 Array: [2, 1, 3, 1, 3, 3, 4], leader: None
Array: [2, 3, 3, 2, 2], leader: 2 Array: [1, 3, 3, 2, 3], leader: 3
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def move_segment(
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def move_increment(A, K,
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def move_increment(A, K, start_index):
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def move_increment(A, K, start_index):
A[i]
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
leaders_list = list(leaders)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_fist_segment(A, K):
for i in
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_fist_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_fist_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_fist_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
if
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_fist_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_fist_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = i_k
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_fist_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = i_
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_fist_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_fist_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
Traceback (most recent call last): File "exec.py", line 149, in <module> main() File "exec.py", line 111, in main result = solution( K, M, A ) File "/tmp/solution.py", line 33, in solution increment_first_segment(A, K) NameError: name 'increment_first_segment' is not defined
Traceback (most recent call last): File "exec.py", line 149, in <module> main() File "exec.py", line 111, in main result = solution( K, M, A ) File "/tmp/solution.py", line 33, in solution increment_first_segment(A, K) NameError: name 'increment_first_segment' is not defined
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K+1):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
A_c = copy(A)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_segment
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_segment(A, K, i)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_segment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
increment_segment(A_c, K, i)
leader = get_leader(A_c)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_segment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_segment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
Traceback (most recent call last): File "exec.py", line 149, in <module> main() File "exec.py", line 111, in main result = solution( K, M, A ) File "/tmp/solution.py", line 39, in solution move_segment(A, K, i) NameError: name 'move_segment' is not defined
Traceback (most recent call last): File "exec.py", line 149, in <module> main() File "exec.py", line 111, in main result = solution( K, M, A ) File "/tmp/solution.py", line 39, in solution move_segment(A, K, i) NameError: name 'move_segment' is not defined
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[i] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
Traceback (most recent call last): File "exec.py", line 149, in <module> main() File "exec.py", line 111, in main result = solution( K, M, A ) File "/tmp/solution.py", line 39, in solution move_increment(A, K, i) File "/tmp/solution.py", line 25, in move_increment A[i] -= 1 NameError: name 'i' is not defined
Traceback (most recent call last): File "exec.py", line 149, in <module> main() File "exec.py", line 111, in main result = solution( K, M, A ) File "/tmp/solution.py", line 39, in solution move_increment(A, K, i) File "/tmp/solution.py", line 25, in move_increment A[i] -= 1 NameError: name 'i' is not defined
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, start_index):
A[start_index] -= 1
A[i+K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
from copy import copy
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def get_leader_counter(counter):
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def get_leader_counter(counter):
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def get_leader_counter(counter):
N
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def get_leader_counter(counter):
N = sum(counter.values())
element, count =
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
leader = None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
leader = element
return leader
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
leader = None
N = len(A)
if count > N/2:
return element
return leader
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N-K):
indices = [i, i + K]
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
move_increment(A, K, i)
leader = get_leader_counter(counter()
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
move_increment(A, K, i)
leader = get_leader_counter(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(counter)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
move_increment(A, K, i)
leader = get_leader_counter(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(counter)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
leader = get_leader_counter(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(counter)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
leader = get_leader_counter(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def move_increment_counter(A,
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(counter)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
leader = get_leader_counter(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def move_increment_counter(A, counter, index):
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(counter)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
leader = get_leader_counter(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def move_increment_counter(A, counter, index):
counte
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(counter)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
leader = get_leader_counter(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def move_increment_counter(A, counter, index):
counter(A[index]
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(counter)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
leader = get_leader_counter(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def move_increment_counter(A, counter, index, K):
counter(A[index]) -= 1
coun
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(counter)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
leader = get_leader_counter(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def move_increment_counter(A, counter, index, K):
counter(A[index]) -= 1
counter(A[
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(counter)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
leader = get_leader_counter(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
counter = Counter(A)
first_leader = get_leader_counter(counter)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
leader = get_leader_counter(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader_counter(counter)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
leader = get_leader_counter(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
indices = [i, i + K]
leader = get_leader_counter(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
move_increment(A, K, index)
leader = get_leader_counter(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
move_increment(A, K, i)
leader = get_leader(counter)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def get_leader_counter(counter):
N = sum(counter.values())
element, count = counter.most_common(1)[0]
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
from collections import Counter
def get_leader(A):
counter = Counter(A)
element, count = counter.most_common(1)[0]
N = len(A)
if count > N/2:
return element
return None
def increment_segment(A, K, start_index):
B = A[start_index:start_index + K]
B = [x+1 for x in B]
A[start_index:start_index+K] = B
def increment_first_segment(A, K):
for i in range(0, K):
A[i] += 1
def move_increment(A, K, index):
A[index] -= 1
A[index + K] +=1
def solution(K, M, A):
leaders = set()
N = len(A)
increment_first_segment(A, K)
first_leader = get_leader(A)
if first_leader:
leaders.add(first_leader)
for i in range(0, N - K):
move_increment(A, K, i)
leader = get_leader(A)
if leader:
leaders.add(leader)
return sorted(list(leaders))
The following issues have been detected: timeout errors.
medium tests (N = 10000, M = 100)
running time: 3.988 sec., time limit: 0.208 sec.
medium tests(N >= 20000, M=30000)
Killed. Hard limit reached: 6.000 sec.