Cod sursa(job #3344921)

Utilizator Teo_y62Teodora Dulgheru Teo_y62 Data 6 martie 2026 17:41:41
Problema Subsecventa de suma maxima Scor 40
Compilator py Status done
Runda Arhiva educationala Marime 0.65 kb
def ssm():
    with open("ssm.in", "r") as f:
        n = int(f.readline())
        nums = list(map(int, f.readline().split()))
    
    dp = [0] * n
    dp[0] = nums[0]
    
    start = [0] * n
    
    rez = dp[0]
    rez_start = 0
    rez_end = 0
    
    for i in range(1, n):
        if dp[i-1] >= 0:
            dp[i] = dp[i-1] + nums[i]
            start[i] = start[i-1] 
        else:
            dp[i] = nums[i]
            start[i] = i 
        
        if dp[i] > rez:
            rez = dp[i]
            rez_start = start[i]
            rez_end = i
    
    with open("ssm.out", "w") as f:
        f.write(f"{rez} {rez_start + 1} {rez_end + 1}")

ssm()