ConcursC++17

secvmin

Fie un șir de nn numere naturale v1v_1, v2v_2, …\dots, vnv_n, unde viv_i reprezintă al ii-lea număr din șir.
O subsecvență [x,y][x, y] a șirului vv (cu 1≤x≤y≤n1 \leq x \leq y \leq n) conține toate elementele vx,vx+1,…,vy−1,vyv_x, v_{x+1}, \dots, v_{y - 1}, v_y.

Cerință

Fiind date două numere naturale nn și kk și un șir vv de nn numere naturale, scrieți un program care să răspundă la următoarea întrebare: câte subsecvențe conțin simultan cele mai mici kk valori distincte din șir?

Date de intrare

Fișierul de intrare secvmin.in conține pe prima linie numerele nn și kk, iar pe cea de a doua linie se vor afla numerele naturale v1v_1, v2,…,vnv_2, \dots, v_n, cu semnificația din enunț. Numerele scrise pe aceeași linie sunt separate prin câte un spațiu.

Date de ieșire

Fișierul de ieșire secvmin.out va conține o singură linie pe care va fi scris răspunsul la cerința problemei.

Restricții și precizări

  • 1≤n≤1 000 0001 \leq n \leq 1 \ 000 \ 000;
  • 1≤k≤51 \leq k \leq 5;
  • 1≤vi≤1 000 000 0001 \leq v_i \leq 1 \ 000 \ 000 \ 000, pentru 1≤i≤n1 \leq i \leq n;
  • Se garantează că șirul va conține cel puțin kk valori distincte.
#PunctajRestricții
123k=1k = 1
232k=2k = 2
3453≤k≤53 \leq k \leq 5

Exemplul 1

secvmin.in

7 1
1 3 2 2 1 3 2

secvmin.out

19

Explicație

k=1k=1. Cea mai mică valoare din șir este egală cu 11.
Subsecvențele care conțin valoarea 1 sunt: [1,1][1, 1], [1,2][1, 2], [1,3][1, 3], [1,4][1, 4], [1,5][1, 5], [1,6][1, 6], [1,7][1, 7], [2,5][2, 5], [2,6][2, 6], [2,7][2, 7], [3,5][3, 5], [3,6][3, 6], [3,7][3, 7], [4,5][4, 5], [4,6][4, 6], [4,7][4, 7], [5,5][5, 5], [5,6][5, 6], [5,7][5, 7].

Exemplul 2

secvmin.in

7 2
1 5 2 2 1 5 2

secvmin.out

15

Explicație

k=2k=2. Cea mai mică valoare din șir este egală cu 11, iar a doua cea mai mică valoare din șir este egală cu 22.
Subsecvențele care conțin valorile 11 și 22 sunt: [1,3][1, 3], [1,4][1, 4], [1,5][1, 5], [1,6][1, 6], [1,7][1, 7], [2,5][2, 5], [2,6][2, 6], [2,7][2, 7], [3,5][3, 5], [3,6][3, 6], [3,7][3, 7], [4,5][4, 5], [4,6][4, 6], [4,7][4, 7], [5,7][5, 7].

Sursă și autori

ONI 2023, clasele 7. Ioan-Cristian Pop, Theodor-Gabriel Tulbă-Lecu.

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 ↑