Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Python] Groupby + Accumulate: dãy con cùng dấu có tổng lớn nhất

    Cho danh sách n số nguyên khác 0. Hãy dùng itertools.groupby (key = dấu của phần tử, +1 cho dương / -1 cho âm) để gom các đoạn liên tiếp cùng dấu, sau đó tính tổng tuyệt đối lớn nhất trong các đoạn cùng dấu đó (tức là max của |sum(đoạn)|).

    • Định dạng đầu vào:

      Dòng 1: số nguyên n. Dòng 2: n số nguyên khác 0.

    • Ràng buộc đầu vào:

      1 ≤ n ≤ 10^5; |a_i| ≤ 10^6, a_i ≠ 0

    • Định dạng đầu ra:

      Một số nguyên: max |sum(đoạn cùng dấu)|.

    Ví dụ:

    Đầu vào:

    7
    1 2 3 -1 -2 4 5
    

    Đầu ra:

    9

    Giải thích:

    Các đoạn: [1,2,3]=6, [-1,-2]=3, [4,5]=9 -> max=9

    Đang tải editor...