import random

def znajdz_najwiekszy_podciag_niemalejacy(ciag):
    poczatek_najw_ciagu = koniec_najw_ciagu = 0
    najwieksza_suma = ciag[poczatek_najw_ciagu]
    poczatek_sprawdz_ciagu = 0
    suma_sprawdz_ciagu = najwieksza_suma
    for koniec_sprawdz_ciagu in range(1, len(ciag)):
        if ciag[koniec_sprawdz_ciagu] >= ciag[koniec_sprawdz_ciagu - 1]:  # Mamy ciąg niemalejący
            suma_sprawdz_ciagu += ciag[koniec_sprawdz_ciagu]
            if suma_sprawdz_ciagu > najwieksza_suma:  # Znaleziono nowy największy
                koniec_najw_ciagu = koniec_sprawdz_ciagu
                poczatek_najw_ciagu = poczatek_sprawdz_ciagu
                najwieksza_suma = suma_sprawdz_ciagu
        else:  # Koniec ciągu niemalejącego, zaczynamy nowy ciąg
            poczatek_sprawdz_ciagu = koniec_sprawdz_ciagu
            suma_sprawdz_ciagu = ciag[koniec_sprawdz_ciagu]
    return poczatek_najw_ciagu, koniec_najw_ciagu, najwieksza_suma

def testuj():
    LICZBA_WYRAZOW = 10
    ciag = [random.randint(0, 9) for _ in range(LICZBA_WYRAZOW)]
    print("Ciąg:", ciag)
    poczatek, koniec, suma = znajdz_najwiekszy_podciag_niemalejacy(ciag)
    print(f"Największy spójny podciąg niemalejący od: ciag[{poczatek}]={ciag[poczatek]}, do: ciag[{koniec}]={ciag[koniec]}, suma ciągu: {suma}")

def main():
    for _ in range(10):
        testuj()

if __name__ == "__main__":
    main()
