
    Given a customer's transaction history pattern of length n containing both deposits and withdrawals, which repeats k times in their banking records, find the largest sum of consecutive transactions that could indicate potential fraud. The transaction pattern includes both positive values (deposits) and negative values (withdrawals), and the analysis should consider the entire repeated sequence to identify the most significant suspicious pattern.
    

    
def max_sub_array_sum_repeated(a, n, k):
    """
    Given a customer's transaction history pattern of length n containing both deposits and withdrawals, which repeats k times in their banking records, find the largest sum of consecutive transactions that could indicate potential fraud. The transaction pattern includes both positive values (deposits) and negative values (withdrawals), and the analysis should consider the entire repeated sequence to identify the most significant suspicious pattern.
    

    """
def max_sub_array_sum_repeated(a, n, k):
    """
    Given a customer's transaction history pattern of length n containing both deposits and withdrawals, which repeats k times in their banking records, find the largest sum of consecutive transactions that could indicate potential fraud. The transaction pattern includes both positive values (deposits) and negative values (withdrawals), and the analysis should consider the entire repeated sequence to identify the most significant suspicious pattern.
    

    """
    max_so_far = -2147483648
    max_ending_here = 0
    for i in range(n * k):
        max_ending_here = max_ending_here + a[i % n]
        if max_so_far < max_ending_here:
            max_so_far = max_ending_here
        if max_ending_here < 0:
            max_ending_here = 0
    return max_so_far