secvp

Time limit: 0.05s Memory limit: 4MB Input: secvp.in Output: secvp.out

Se consideră un şir cu NN numere naturale a1,a2,,aNa_1, a_2, \dots, a_N. Asupra unui element aia_i din şir se pot efectua operaţii de incrementare (adunare cu 1:ai=ai+11: a_i = a_i + 1) sau decrementare (scădere cu 1:ai=ai11: a_i = a_i - 1). Fiecare element din şir poate fi incrementat sau decrementat de oricâte ori.

Cerința

Dat fiind șirul celor NN numere naturale, să se determine:

  1. numărul total minim de operaţii necesare pentru a transforma toate numerele din şir în numere prime;
  2. numărul minim de operații (incrementări şi decrementări) ce trebuie să fie efectuate asupra elementelor şirului astfel încât să existe o secvență de lungime KK formată numai din numere prime.

Date de intrare

Fișierul de intrare secvp.in conține pe prima linie numerele naturale NN şi KK, iar pe următoarea linie NN numere naturale. Numerele scrise pe aceeași linie sunt separate prin spații.

Date de ieșire

Fișierul de ieșire secvp.out conţine pe prima linie un număr natural TT, reprezentând numărul total minim de operaţii necesare pentru a transforma toate numerele din şir în numere prime. Pe a doua linie vor fi scrise două numere naturale separate prin spaţiu minKnrsKminK nrsK, unde minKminK reprezintă numărul minim de operaţii ce trebuie să fie efectuate asupra elementelor şirului astfel încât să existe o secvenţă de lungime KK formată numai din numere prime, iar nrsKnrsK reprezintă numărul de secvenţe de lungime KK care se pot obţine cu acelaşi număr minKminK de operaţii de incrementare/decrementare.

Restricții și precizări

  • 2KN100 0002 \leq K \leq N \leq 100 \ 000
  • 0ai1 000 0000 \leq a_i \leq 1 \ 000 \ 000, pentru 1iN1 \leq i \leq N
  • O secvență din șir este formată din elemente aflate pe poziţii consecutive în şirul dat.
  • 11 nu este număr prim.
  • Pentru determinarea corectă a valorii TT se acordă 30%30\% din punctajul pe test. Pentru determinarea corectă a valorilor TT şi minKminK se acordă 70%70\% din punctajul pe test. Punctajul integral se acordă pentru determinarea corectă a tuturor celor 33 valori.

Exemplul 1

secvp.in

7 3
15 3 8 26 22 10 14

secvp.out

9
3 2

Explicație

Pentru a transforma 1515 în număr prim sunt necesare 22 incrementări.
Pentru a transforma 33 în număr prim sunt necesare 00 operaţii.
Pentru a transforma 88 în număr prim e necesară 11 decrementare.
Pentru a transforma 2626 în număr prim sunt necesare 33 decrementări.
Pentru a transforma 2222 în număr prim e necesară 11 incrementare.
Pentru a transforma 1010 în număr prim e necesară 11 incrementare.
Pentru a transforma 1414 în număr prim e necesară 11 decrementare.
Numărul total de operaţii necesare este 99.
Numărul minim de operaţii necesare pentru a obţine o secvenţă de lungime KK este 33. Cele două secvenţe de lungime KK ce necesită 33 operaţii sunt a1,a2,a3a_1, a_2, a_3 şi a5,a6,a7a_5, a_6, a_7.

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