Slabě doleva vychýlené úseky posloupnosti
Zadání
Je dána posloupnost P celých nezáporných čísel, v níž se žádná hodnota nevyskytuje vyskytuje více než jednou.
P = a1, a2, …, aN, kde N ≥ 2.
Úsek délky L posloupnosti P je každá podposloupnost
ak, ak+1, …, ak+L−1, kde 1 ≤ k; 2 ≤ L; k+L−1 ≤ N.
Úsek nazveme slabě doleva vychýlený, pokud index minimální hodnoty v tomto úseku je menší než index maximální hodnoty v tomto úseku, to jest minimální ze všech hodnot v úseku se nachází vlevo (ne nutně v bezprostředním sousedství) od maximální ze všech hodnot v tomto úseku.
Posloupnost P je dána takto:
a1 = S,
ai+1 = (754043 * ai + 500009) mod M, pro 1 ≤ i < N.
Hodnoty S, M jsou daná celá kladná čísla.
Úkolem je najít počet slabě doleva vychýlených úseků délky L v posloupnosti P.
Vstup
Na vstupu je jeden řádek se čtyřmi čísly představujícími postupně hodnoty N, L, S, M. Čísla jsou oddělena mezerou.
Platí 2 ≤ N ≤ 1000000, 2 ≤ L ≤ N, 2 ≤ S ≤ 1000000, 2 ≤ M ≤ 2000000.