Prihlásenie Registrácia  

D - Deliteľnosť

Časový limit: 2s, Pamäťový limit: 64MiB

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3

Počet bodov: 1

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

Úloha

Pre zadanú postupnosť čísel nájdite taký najdlhší súvislý úsek, že pre súčet každých N1 po sebe idúcich čísel v ňom bude deliteľný číslom D1 a zároveň súčet N2 čísel bude deliteľný D2.

Vstup

Na prvom riadku vstupu sú zadané čísla N (1 ≤ N ≤ 1000000), N1, N2 (1 ≤ N1, N2 ≤ 50000), D1, D2 (1 ≤ D1, D2 ≤ 1000) oddelené medzerou. Na druhom riadku vstupu je zadaných N čísel postupnosti oddelených medzerou. Každé číslo postupnosti je z intervalu od -2000 do 2000 (včítane).

Výstup

Na výstupe má byť dĺžka najdlhšieho súvislého úseku postupnosti splňujúca zadanie úlohy. Ak neexistuje žiaden taký úsek, potom výstupom má byť 0.

Príklad

Vstup:

8 2 4 2 4
2 7 1 3 1 3 1 1

Výstup:

6

V úseku od druhého po predposledný člen postupnosti (t.j. 7 1 3 1 3 1) platí, že každé dve po sebe idúce čísla sú deliteľné dvomi a každé štyri deliteľné štyrmi.