Avid

Time limit: 0.4s Memory limit: 128MB Input: avid.in Output: avid.out

Alex este un băiat căruia îi place să citească și care contorizează cât de mult a citit pe parcursul ultimelor nn zile. Mai precis, el și-a notat câte pagini a citit în fiecare dintre acestea. Chiar dacă pasiunea lui este literatura, își dorește să progreseze și la informatică. Alex și-a pus două întrebări legate de șirul format din numărul de pagini citite de el în ultimele nn zile, dar după ce a petrecut câteva zile gândindu-se la ele și-a dat seama că sunt prea dificile pentru el. Ajutați-l să găsească răspunsurile!

Cerință

Fie numărul nn, numărul pp și acel șir de valori notate de Alex în cele nn zile. Determinați răspunsul la următoarele întrebări care îl frământă pe Alex:

  1. Câte triplete de numere aflate pe poziții consecutive în șirul dat îndeplines condiția ca cel mai mare divizor comun al lor să aibă cel mult pp divizori naturali?
  2. Care este lungimea maximă a unei secvențe din șirul dat, în care cel mai mare divizor comun al oricărui triplet de numere situate pe poziții consecutive are cel mult pp divizori naturali?

Date de intrare

Fișierul avid.in conține pe prima linie un număr natural CC, având valoarea 11 sau 22, reprezentând numărul întrebării. Pe a doua linie se află două numere naturale nn și pp, în această ordine, cu semnificația din enunț. A treia linie din fișier conține nn numere naturale reprezentând șirul de valori notate în cele nn zile. Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu.

Date de ieșire

Fișierul avid.out va conține un singur număr, reprezentând răspunsul pentru întrebarea dată, CC.

Restricții

  • 1C21 \le C \le 2
  • 3n1 000 0003 \le n \le 1 \ 000 \ 000
  • 2p1002 \le p \le 100
  • 1ai5 000 0001 \le a_i \le 5 \ 000 \ 000, unde aia_i este numărul de pagini citite de Alex în ziua ii (Alex citește la o viteză impresionantă)
  • Pentru prima cerință, se garantează că există cel puțin un triplet cu proprietatea indicată.
  • Pentru a doua cerință, se garantează că există cel puțin o secvență validă cu proprietatea indicată.
# Punctaj Restricții
1 12 C=1C = 1, n1 000n \le 1 \ 000
2 17 C=1C = 1, 1 000<n1 000 0001 \ 000 \lt n \le 1 \ 000 \ 000
3 29 C=2C = 2, n1 000n \le 1 \ 000
4 42 C=2C = 2, 1 000<n1 000 0001 \ 000 \lt n \le 1 \ 000 \ 000

Exemplu 1

avid.in

1
10 3
12 48 36 6 3 7 12 16 24 3

avid.out

6

Explicație

cmmdc(12,48,36)=12cmmdc(12, 48, 36) = 12, care are 66 divizori naturali.

cmmdc(48,36,6)=6cmmdc(48, 36, 6) = 6, care are 44 divizori naturali.

cmmdc(36,6,3)=3cmmdc(36, 6, 3) = 3, care are 22 divizori naturali.

cmmdc(6,3,7)=1cmmdc(6, 3, 7) = 1, care are 11 divizor natural.

cmmdc(3,7,12)=1cmmdc(3, 7, 12) = 1, care are 11 divizor natural.

cmmdc(7,12,16)=1cmmdc(7, 12, 16) = 1, care are 11 divizor natural.

cmmdc(12,16,24)=4cmmdc(12, 16, 24) = 4, care are 33 divizori naturali.

cmmdc(16,24,3)=1cmmdc(16, 24, 3) = 1, care are 11 divizor natural.

Deci, 66 dintre cele 88 triplete au cel mult p=3p = 3 divizori naturali.

Exemplu 2

avid.in

2
7 2
12 48 36 6 3 7 12

avid.out

5

Explicație

Pentru că p=2p = 2, cea mai lungă secvență este 36,6,3,7,1236, 6, 3, 7, 12.

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