Într-un șir de numere naturale, numim secvență dsecv, o succesiune de valori situate pe poziții consecutive a[i], a[i+1], a[i+2], a[i+3], … a[j] cu (i ≤ j) dacă oricare două numerele alăturate din secvență (a[i], a[i+1]) au proprietatea că numărul de divizori ai lui a[i] este mai mic sau egal decât numărul de divizori ai lui a[i+1]. Numărul de elemente din secvență reprezintă lungimea secvenței. De exemplu, în șirul 13, 20, 24, 3, 12, 100, 2, 17, 18 există 3 secvențe dsecv de lungime 3: 13, 20, 24; 3, 12, 100 și 2, 17, 18.
Cerințe
Fiind dat numărul natural C reprezentând numărul cerinței, un număr natural n și apoi un șir de n numere naturale nenule cu maximum 9 cifre fiecare, scrieți un program care rezolvă următoarele cerințe:
1) Dacă C = 1, dintre toate valorile din șir care au număr maxim de divizori, se vor determina valoarea minimă și valoarea maximă.
2) Dacă C = 2, se va determina numărul de secvențe dsecv de lungime maximă din șir și lungimea maximă a unei astfel de secvențe.
Date de intrare
Fișierul de intrare dsecv.in conţine pe prima linie numărul C reprezentând cerința (1 sau 2) și numărul natural n, iar pe a doua linie un șir de n numere naturale, valorile de pe aceeași linie fiind separate prin câte un spațiu.
Date de ieșire
Dacă cerința C = 1, atunci pe prima linie a fişierului de ieşire dsecv.out, se vor determina dintre toate valorile din șir care au număr maxim de divizori, valoarea minimă și valoarea maximă; acestea se vor scrie pe o linie, în ordine crescătoare, separate prin câte un spațiu.
Dacă cerința C = 2, atunci pe prima linie a fişierului de ieşire dsecv.out se vor scrie separate prin câte un spațiu, două numere naturale, reprezentând numărul de secvențe dsecv de lungime maximă din șir și lungimea maximă a unei astfel de secvențe.
Restricții și precizări
1 ≤ n ≤ 10.0001 ≤ C ≤ 21 ≤ a[i] ≤ 1.000.000.000- Pentru 40 de puncte cerinţa va fi
C = 1. - Pentru 50 de puncte cerinţa va fi
C = 2. - Se acordă 10 puncte pentru exemplele din enunț.
Exemplul 1:
dsecv.in
1 10 13 20 24 3 12 100 120 2 432 18
dsecv.out
432 432
Explicație
Numărul 432 are cei mai mulți divizori (este și minim și maxim)
Exemplul 2:
dsecv.in
2 10 13 20 24 3 12 100 120 2 432 18
dsecv.out
1 4
Explicație
Șirul conține o secvență dsecv de lungime 4. dsecv = (3 12 100 120).