
    Given a customer's transaction sequence pattern of deposits and withdrawals over a period, which repeats k times in the monitoring window, find the largest possible sum of consecutive transactions that could indicate potential fraud. The transaction sequence of length n contains both positive values (deposits) and negative values (withdrawals), and the monitoring system needs to analyze this pattern as it repeats k times to identify the maximum suspicious transaction cluster.
    

    
def max_sub_array_sum_repeated(a, n, k):
    """
    Given a customer's transaction sequence pattern of deposits and withdrawals over a period, which repeats k times in the monitoring window, find the largest possible sum of consecutive transactions that could indicate potential fraud. The transaction sequence of length n contains both positive values (deposits) and negative values (withdrawals), and the monitoring system needs to analyze this pattern as it repeats k times to identify the maximum suspicious transaction cluster.
    

    """
def max_sub_array_sum_repeated(a, n, k):
    """
    Given a customer's transaction sequence pattern of deposits and withdrawals over a period, which repeats k times in the monitoring window, find the largest possible sum of consecutive transactions that could indicate potential fraud. The transaction sequence of length n contains both positive values (deposits) and negative values (withdrawals), and the monitoring system needs to analyze this pattern as it repeats k times to identify the maximum suspicious transaction cluster.
    

    """
    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