Nu aveti permisiuni pentru a descarca fisierul grader_test6.ok
Diferente pentru problema/aiacuxor intre reviziile #8 si #14
Nu exista diferente intre titluri.
Diferente intre continut:
V[i] = (S[i / M] xor S[i mod M]) + i, unde x / y reprezintă câtul împărţirii lui x la y, x mod y reprezintă restul lui x la împărţirea cu y, şi x xor y reprezintă rezultatul operaţiei xor (sau exclusiv pe biţi) dintre x şi y. ==
De asemenea şi întrebările se generează în felul următor: ştiind prima intrebare $X Y$, următoarele perechi $X_nou,Y_nou$ se afla dupăformulele:
De asemenea şi întrebările se generează în felul următor: ştiind prima intrebare $X Y$, următoarele perechi $X Y$ se afla după procedeul:
== code(cpp) | X_nou = (X * A + Y * B) mod N + 1 Y_nou = (Y * C + (Z mod N) * D) mod N + 1, (unde Z reprezintă răspunsul ultimei întrebări iar A, B, C, D sunt nişte constante date în fişierul de intrare)
* $1 ≤ X ≤ Y ≤ N ≤ 1000000$ * $1 ≤ Q ≤ 1000000$
* $1 ≤ M ≤ 1000, N ≤ M * M$
* Pentru $20$ de puncte $1 ≤ N , Q ≤ 100$ * Pentru alte $20$ de puncte $1 ≤ N ≤ 1000 si 1 ≤ Q ≤ 100$
* Pentru alte $20$ de puncte $1 ≤ N ≤ 10000 si 1 ≤ Q ≤ 100$
* Pentru alte $15$ de puncte $1 ≤ N ≤ 10000 si 1 ≤ Q ≤ 100$
* Elemente şirului $V$ încap pe $32$ de biti * $1 ≤ S[i] < 2^29$ * $0 ≤ A,B,C,D ≤ 10^3$ * O subsecvenţă este un subşir de elemente care apar pe poziţii consecutive în şirul iniţial
* xor reprezintă operatorul binar„sau exclusiv”$xor$(Pascal)/$^$(C/C++)
* Operaţia $xor$ reprezintă operaţia de disjuncţie exclusivă realizată pe biţii operanzilor. În Pascal, operatorul corespunzător este $xor$, iar în C/C++ acest operator este $^$. De exemplu, $20 xor 14 = 26$.
* Modul de generare al şirului, respectiv a întrebărilor, se datorează doar faptului că Bulănel citeşte foarte greu. * Problema va fi evaluată pe teste în valoare de $90$ de puncte * Se vor acorda $10$ puncte din oficiu
| Sirul V de lungime N = 4 : 0 3 2 5 Cele 4 intrebari sunt: 1 1
12
2 2
2 3 3 4 Vom explica în detaliu răspunsul pentru ultima întrebare:
