numere

Time limit: 0.05s Memory limit: 2MB Input: numere.in Output: numere.outPoints by default: 10p

Se consideră un șir format din nn numere naturale. Asupra numerelor din șir se face următoarea prelucrare: fiecare valoare este înlocuită cu cel mai mare divizor prim al său. În noul șir se formează secvențe de numere care încep și se termină cu aceeași valoare, numite secvențe neuniforme.

Cerinţă

Cunoscând numerele naturale nn și cc, și un șir de nn numere naturale, se cere să se rezolve următoarele cerințe:

  1. dacă c=1c=1, atunci se cere să se afișeze lungimea maximă a unei secvențe neuniforme.
  2. dacă c=2c=2, atunci se cere să se afișeze numărul total de secvențe neuniforme din șir.

Date de intrare

Fişierul numere.in conţine pe prima linie, despărțite prin câte un spațiu, numerele naturale nn și cc, cu semnificaţia din enunţ. A doua linie conține nn numere naturale, despărțite prin câte un spațiu.

Date de ieşire

Dacă c=1c=1, atunci pe prima linie a fişierului numere.out va fi scris un singur număr ce reprezintă lungimea maximă a unei secvențe neuniforme.
Dacă c=2c=2, atunci fişierul numere.out va conţine un singur număr ce reprezintă numărul total de secvențe neuniforme.

Restricții și precizări

  • 0<n<10 0000 < n < 10 \ 000
  • 1<1 < valoare din șir <10 000< 10 \ 000
  • lungimea unei secvențe 2\geq 2

Exemplul 1

numere.in

6 1
14 2 49 3 35 1024  

numere.out

5

Explicație

Cele 66 numere sunt înlocuite cu valorile: 7,2,7,3,7,27, 2, 7, 3, 7, 2.
Lungimea celei mai lungi secvențe neuniforme este 55; secvențele neuniforme cu acestă lungime sunt 7,2,7,3,77, 2, 7, 3, 7 sau 2,7,3,7,22, 7, 3, 7, 2.

Exemplul 2

numere.in

10 2
14 8 3 25 6 24 20 1024 100 2

numere.out

9

Explicație

Cele 1010 numere sunt înlocuite cu valorile: 7,2,3,5,3,3,5,2,5,27, 2, 3, 5, 3, 3, 5, 2, 5, 2. Numărul total de secvențe neuniforme din șir este 3+3+3=93+3+3=9.

Log in or sign up to be able to send submissions!