A non-empty array A consisting of N integers is given. A pair of integers (P, Q), such that 0 ≤ P < Q < N, is called a slice of array A (notice that the slice contains at least two elements). The average of a slice (P, Q) is the sum of A[P] + A[P + 1] + ... + A[Q] divided by the length of the slice. To be precise, the average equals (A[P] + A[P + 1] + ... + A[Q]) / (Q − P + 1).
For example, array A such that:
A[0] = 4 A[1] = 2 A[2] = 2 A[3] = 5 A[4] = 1 A[5] = 5 A[6] = 8contains the following example slices:
- slice (1, 2), whose average is (2 + 2) / 2 = 2;
- slice (3, 4), whose average is (5 + 1) / 2 = 3;
- slice (1, 4), whose average is (2 + 2 + 5 + 1) / 4 = 2.5.
The goal is to find the starting position of a slice whose average is minimal.
Write a function:
def solution(A)
that, given a non-empty array A consisting of N integers, returns the starting position of the slice with the minimal average. If there is more than one slice with a minimal average, you should return the smallest starting position of such a slice.
For example, given array A such that:
A[0] = 4 A[1] = 2 A[2] = 2 A[3] = 5 A[4] = 1 A[5] = 5 A[6] = 8the function should return 1, as explained above.
Write an efficient algorithm for the following assumptions:
- N is an integer within the range [2..100,000];
- each element of array A is an integer within the range [−10,000..10,000].
def solution(A):
len_a = len(A)
if len_a == 2:
return 0
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
len_a = len(A)
if len_a == 2:
return 0
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
len_a = len(A)
if len_a == 2:
return 0
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1",i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print(i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
len_a = len(A)
if len_a == 2:
return 0
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
len_a = len(A)
if == 2:
return 0
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# avg for 3
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
# print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# avg for 3
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg1 = cur_avg
min_str_idx1 = i
# avg for 3
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur
# avg for 3
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg_ = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg_1 = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg_2 = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg_1 = sum(A[i:i+2]) / 2
cur_avg_2 = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg_1 = sum(A[i:i+2]) / 2
cur_avg_2 = sum(A[i:i+3]) / 3
if cur_avg < min_avg or:
min_avg = cur_avg
min_str_idx = i
# avg for 3
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg_1 = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg_2 = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
sum(A[])
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
sum(A[:-2])
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
sum(A[:-2])
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
print(A[:-2])
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
sum(A[:-2])
min_avg1 = sum(A[:2]) / 2
min_str_idx1 = 0
for i in range(1, len(A)):
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg1:
print("1: ", i)
min_avg1 = cur_avg
min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
def solution(A):
if len(A) == 2:
return 0
print(A[:-2])
# min_avg = sum(A[:2]) / 2
# min_str_idx = 0
# for i in range(1, len(A)-2):
# # avg for 2
# cur_avg = sum(A[i:i+2]) / 2
# if cur_avg < min_avg:
# min_avg = cur_avg
# min_str_idx = i
# cur_avg = sum(A[i:i+3]) / 3
# if cur_avg < min_avg:
# min_avg = cur_avg
# min_str_idx = i
# # avg for 3
# sum(A[:-2])
# min_avg1 = sum(A[:2]) / 2
# min_str_idx1 = 0
# for i in range(1, len(A)):
# cur_avg = sum(A[i:i+2]) / 2
# if cur_avg < min_avg1:
# print("1: ", i)
# min_avg1 = cur_avg
# min_str_idx1 = i
# return min_str_idx
min_avg2 = sum(A[:3]) / 3
min_str_idx2 = 0
for i in range(1, len(A)-1):
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg2:
print("2: ", i)
min_avg2 = cur_avg
min_str_idx2 = i
if min_avg1 < min_avg2:
return min_str_idx1
else:
return min_str_idx2
Traceback (most recent call last): File "exec.py", line 115, in <module> main() File "exec.py", line 91, in main result = solution( A ) File "/tmp/exec_user_wv91tmyo/solution.py", line 42, in solution if min_avg1 < min_avg2: NameError: name 'min_avg1' is not definedstdout:
[4, 2, 2, 5, 1]
def solution(A):
if len(A) == 2:
return 0
print(A[:-2])
# min_avg = sum(A[:2]) / 2
# min_str_idx = 0
# for i in range(1, len(A)-2):
# # avg for 2
# cur_avg = sum(A[i:i+2]) / 2
# if cur_avg < min_avg:
# min_avg = cur_avg
# min_str_idx = i
# cur_avg = sum(A[i:i+3]) / 3
# if cur_avg < min_avg:
# min_avg = cur_avg
# min_str_idx = i
# # avg for 3
# sum(A[:-2])
Invalid result type, int expected, <class 'NoneType'> found.stdout:
[4, 2, 2, 5, 1]
def solution(A):
if len(A) == 2:
return 0
print(A[-2])
# min_avg = sum(A[:2]) / 2
# min_str_idx = 0
# for i in range(1, len(A)-2):
# # avg for 2
# cur_avg = sum(A[i:i+2]) / 2
# if cur_avg < min_avg:
# min_avg = cur_avg
# min_str_idx = i
# cur_avg = sum(A[i:i+3]) / 3
# if cur_avg < min_avg:
# min_avg = cur_avg
# min_str_idx = i
# # avg for 3
# sum(A[:-2])
def solution(A):
if len(A) == 2:
return 0
print(A[-2])
# min_avg = sum(A[:2]) / 2
# min_str_idx = 0
# for i in range(1, len(A)-2):
# # avg for 2
# cur_avg = sum(A[i:i+2]) / 2
# if cur_avg < min_avg:
# min_avg = cur_avg
# min_str_idx = i
# cur_avg = sum(A[i:i+3]) / 3
# if cur_avg < min_avg:
# min_avg = cur_avg
# min_str_idx = i
# # avg for 3
# sum(A[:-2])
Invalid result type, int expected, <class 'NoneType'> found.stdout:
5
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
sum(A[:-2])
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
sum(A[-2]+A[-1]) / 2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
if min_avg sum(A[-2]+A[-1]) / 2
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
if min_avg > sum(A[-2]+A[-1]) / 2:
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
last_two_sum = sum(A[-2]+A[-1]) / 2
if cur_avg > last_tw
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
last_two_sum = sum(A[-2]+A[-1]) / 2
if cur_avg > last_two_sum:
return len(A) -
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
last_two_sum = sum(A[-2]+A[-1]) / 2
if cur_avg > last_two_sum:
return len(A) - 2
else:
min_
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
last_two_sum = sum(A[-2]+A[-1]) / 2
if min_avg > last_two_sum:
return len(A) - 2
else:
min_avg
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
last_two_sum = sum(A[-2]+A[-1]) / 2
if min_avg > last_two_sum:
return len(A) - 2
else:
return min_str_idx
Traceback (most recent call last): File "exec.py", line 115, in <module> main() File "exec.py", line 91, in main result = solution( A ) File "/tmp/exec_user_6c5dfxtp/solution.py", line 20, in solution last_two_sum = sum(A[-2]+A[-1]) / 2 TypeError: 'int' object is not iterable
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
last_two_sum = sum(A[-2],A[-1]) / 2
if min_avg > last_two_sum:
return len(A) - 2
else:
return min_str_idx
Traceback (most recent call last): File "exec.py", line 115, in <module> main() File "exec.py", line 91, in main result = solution( A ) File "/tmp/exec_user_i1lxvy8b/solution.py", line 20, in solution last_two_sum = sum(A[-2],A[-1]) / 2 TypeError: 'int' object is not iterable
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
last_two_sum = sum(A[-2]A[-1]) / 2
if min_avg > last_two_sum:
return len(A) - 2
else:
return min_str_idx
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
last_two_sum = (A[-2]+A[-1]) / 2
if min_avg > last_two_sum:
return len(A) - 2
else:
return min_str_idx
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
last_two_sum = (A[-2]+A[-1]) / 2
if min_avg > last_two_sum:
return len(A) - 2
else:
return min_str_idx
def solution(A):
if len(A) == 2:
return 0
min_avg = sum(A[:2]) / 2
min_str_idx = 0
for i in range(1, len(A)-2):
# avg for 2
cur_avg = sum(A[i:i+2]) / 2
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
cur_avg = sum(A[i:i+3]) / 3
if cur_avg < min_avg:
min_avg = cur_avg
min_str_idx = i
# avg for 3
last_two_sum = (A[-2]+A[-1]) / 2
if min_avg > last_two_sum:
return len(A) - 2
else:
return min_str_idx
The solution obtained perfect score.