Nu exista pagina, dar poti sa o creezi ...
Diferente pentru problema/reversez intre reviziile #2 si #3
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="reversez") ==
Considerăm un alfabet cu_Sigma_caractere. Notam_lcp(S, P)_= cel mai lung prefix comun dintre un string S şi un string P. Pentru un string S o să notăm SuffixS[i] = sufixul stringului S care începe la poziţia i. Având stringul S, o să creăm şirul_A[i] = lcp(S, SuffixS[i])_.
Considerăm un alfabet cu $Sigma$ caractere. Notam $lcp(S, P)$ = cel mai lung prefix comun dintre un string $S$ şi un string $P$. Pentru un string $S$ o să notăm $SuffixS[i]$ = sufixul stringului $S$ care începe la poziţia $i$. Având stringul $S$, o să creăm şirul $A[i] = lcp(S, SuffixS[i])$.
h2. Cerinta
Cunoscând şirul_A_şi lungimea alfabetului_Sigma_, să determine câte stringuri S generează sirul A.
Cunoscând şirul $A$ şi lungimea alfabetului $Sigma$, să determine câte stringuri $S$ generează sirul $A$.
h2. Date de intrare
Pe prima linie a fişierului de intrare *reversez.in* se vor afla doua numere naturale N şi Sigma, cu semnificaţia din enunţ. Pe linia 2 se vor afla N numere naturale reprezentând şirul A.
Pe prima linie a fişierului de intrare *reversez.in* se vor afla doua numere naturale $N$ şi $Sigma$, cu semnificaţia din enunţ. Pe linia 2 se vor afla $N$ numere naturale reprezentând şirul $A$.
h2. Date de ieşire
În fişierul de ieşire *reversez.out* veţi afişa un singur număr natural reprezentând numărul de stringuri S cerut,_modulo 666013_.
În fişierul de ieşire *reversez.out* veţi afişa un singur număr natural reprezentând numărul de stringuri $S$ cerut, $modulo 666013$.
h2. Restricţii
* 1 ≤ N ≤ 300 000 * 1 ≤ Sigma ≤ 100 000
* $1 ≤ N ≤ 300 000$ * $1 ≤ Sigma ≤ 100 000$
* Numărul de soluţii va fi cel puţin 1. h2. Exemplu