ConcursC++17

esm

Spunem că o secvență de numere (ai,ai+1,…,aj)(a_i, a_{i+1}, \dots, a_j) este esm dacă:

  • are cel puțin 33 elemente
  • există cel puțin două numere axa_x și aya_y în acea secvență, cu i≤x<y<ji \leq x < y < j, astfel încât ax⋅ay=aja_x \cdot a_y = a_j

De exemplu, secvența (54,7,22,6,9,42)(54, 7, 22, 6, 9, 42) este esm deoarece 7⋅6=427 \cdot 6 = 42.

Cerință

Se dă un șir a1,a2,…,ana_1, a_2, \dots, a_n de numere naturale. Să se determine:

  1. Numărul de secvențe esm din șir de lungime 33.
  2. Numărul de secvențe esm din șir care se termină cu ana_n.
  3. Numărul de secvențe esm din șir.

Date de intrare

Fișierul de intrare esm.in conține pe prima linie un număr natural CC, pe a doua linie numărul natural nn, iar pe a treia linie, separate prin câte un spațiu, elementele șirului a1,a2,…,ana_1, a_2, \dots, a_n.

Date de ieșire

Fișierul de ieșire esm.out va conține un singur număr natural XX:

  • Dacă C=1C = 1, atunci XX va fi numărul de secvențe esm din șir de lungime 33.
  • Dacă C=2C = 2, atunci XX va fi numărul de secvențe esm din șir care se termină cu ana_n.
  • Dacă C=3C = 3, atunci XX va fi numărul de secvențe esm din șir.

Restricții și precizări

  • C∈{1,2,3}C \in \{1, 2, 3 \}
  • 3≤n≤100 0003 \leq n \leq 100 \ 000
  • 1≤ai≤100 0001 \leq a_i \leq 100 \ 000, ∀i∈{1,2,…,n}\forall i \in \{1, 2, \dots, n \}
  • Lungimea unei secvențe este egală cu numărul de elemente din secvență
#PunctajRestrictii
130C=1C = 1
230C=2C = 2
340C=3C = 3

Exemplul 1

esm.in

1
8
2 3 6 18 1 18 3 5

esm.out

3

Explicație

Secvențele esm din șir de lungime 33 sunt:

  • (2,3,6)(2, 3, 6);
  • (3,6,18)(3, 6, 18);
  • (18,1,18)(18, 1, 18).

Exemplul 2

esm.in

2
8
5 8 20 2 4 7 5 40

esm.out

3

Explicație

Secvențele esm din șir care se termină cu 4040 sunt:

  • (5,8,20,2,4,7,5,40)(5, 8, 20, 2, 4, 7, 5, 40);
  • (8,20,2,4,7,5,40)(8, 20, 2, 4, 7, 5, 40);
  • (20,2,4,7,5,40)(20, 2, 4, 7, 5, 40).

Exemplul 3

esm.in

3
8
2 2 4 8 1 8 16 7

esm.out

9

Explicație

Secvențele esm din șir sunt:

  • (2,2,4)(2, 2, 4);
  • (2,2,4,8)(2, 2, 4, 8);
  • (2,4,8)(2, 4, 8);
  • (2,2,4,8,1,8)(2, 2, 4, 8, 1, 8);
  • (2,4,8,1,8)(2, 4, 8, 1, 8);
  • (4,8,1,8)(4, 8, 1, 8);
  • (8,1,8)(8, 1, 8);
  • (2,2,4,8,1,8,16)(2, 2, 4, 8, 1, 8, 16);
  • (2,4,8,1,8,16)(2, 4, 8, 1, 8, 16).

Sursă și autori

ONI 2024, clasele 6. Dan Pracsiu.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑