ConcursC++17

forta

Forța unui număr natural nenul XX este egală cu numărul de divizori pozitivi ai lui XX. De exemplu, numărul X=10X = 10 are forţa 44, deoarece 1010 are 44 divizori, mulțimea divizorilor fiind D10={1,2,5,10}D_{10} = \{1,2,5,10\}.

Scrieţi un program care, cunoscând un șir de nn numere naturale nenule, rezolvă următoarele cerințe:

  1. determină cel mai mic număr din șir care are forța maximă;
  2. determină lungimea maximă a unei secvențe formată din numere cu aceeași forţă ce poate fi obținută prin rearanjarea convenabilă a elementelor din șir.

Date de intrare

Fișierul de intrare forta.in conține pe prima linie numărul cc, care reprezintă cerința de rezolvat (11 sau 22), pe a doua linie un număr natural nn, iar pe următoarea linie nn numere naturale separate prin câte un spațiu, reprezentând elementele șirului.

Date de ieșire

Fișierul de ieșire forta.out va conține o singură linie pe care va fi scris un număr natural reprezentând răspunsul la cerința cc.

Restricții și precizări

  • 1≤n≤100 0001 \leq n \leq 100 \ 000;
  • 1≤1 \leq numerele din șir ≤2⋅109\leq 2 \cdot 10^9;
  • O secvență este constituită dintr-un singur număr sau mai multe numere aflate pe poziții consecutive în șir. Lungimea unei secvențe este egală cu numărul de valori care o compun.
  • Pentru prima cerință se acordă 5050 de puncte, iar pentru cea de a doua cerință se acordă 4040 de puncte.
  • Pentru teste valorând 3030 de puncte 1≤n≤10 0001 \leq n \leq 10 \ 000

Exemplul 1

forta.in

1
6
17 243 10 32 25 13

forta.out

32

Explicație

Cerința este 11. D17=1,17,D243=1,3,9,27,81,243,D10=1,2,5,10,D32=1,2,4,8,16,32,D25=1,5,25,D13=1,13D_{17}={1,17}, D_{243}={1,3,9,27,81,243}, D_{10}={1,2,5,10}, D_{32}={1,2,4,8,16,32}, D_{25}={1,5,25}, D_{13}={1,13}. Deci cea mai mare forță este 66, iar numărul minim cu această forță este 3232.

Exemplul 2

forta.in

2
8
121 10 14 25 49 9 25 15

forta.out

5

Explicație

Cerința este 22. O rearanjare a șirului ar putea fi (10 14 15)(121 25 49 9 25)(10 \ 14 \ 15)(121 \ 25 \ 49 \ 9 \ 25) astfel încât putem obține o secvență de lungime 33 de numere de forță 44 și o secvență de lungime 55 de numere de forță 33.

Sursă și autori

OJI 2020, clasele 6. Raluca Costineanu.

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 ↑