Fie un șir de numere întregi. Pentru fiecare , definim și . Astfel, asociem șirului un alt șir de intervale închise .
Vom spune că șirul este un șir cromatic dacă și numai dacă elementele șirului sunt distincte două câte două, adică nu există două intervale identice în șir.
De exemplu, dacă , atunci șirul este . Cum nu există intervale identice în , șirul este cromatic. În schimb, dacă , atunci șirul este . Intervalul se repetă, deci șirul nu este cromatic.
Considerăm toate șirurile cromatice distincte ce se pot forma prin rearanjarea elementelor șirului și le ordonăm lexicografic. Notăm cu numărul de șiruri astfel obținute. De exemplu, dintre cele 6 permutări ale șirului , numai sunt cromatice:
- ;
- ;
- ;
- .
Cerință
Dându-se un șir , nu neapărat cromatic, să se determine:
- Numărul de șiruri cromatice ce se pot forma prin rearanjarea elementelor șirului . Întrucât acest număr poate fi foarte mare, se cere modulo .
- Știind că șirul este cromatic, să se determine poziția a șirului în lista ordonată lexicografic a tuturor permutărilor cromatice ale lui .
- Dat fiind , să se determine cel de-al -lea șir cromatic în ordine lexicografică ce se poate obține prin rearanjarea elementelor șirului .
Date de intrare
Fișierul de intrare cromatic.in
conține pe prima linie un număr natural , reprezentând numărul cerinței de rezolvat:
- Dacă , pe linia a doua vom avea un număr natural , iar pe linia a treia vom avea numere naturale separate prin spații, reprezentând un șir nu neapărat cromatic.
- Dacă , pe linia a doua vom avea un număr natural , iar pe linia a treia vom avea numere naturale separate prin spații, reprezentând un șir cromatic.
- Dacă , linia a doua va conține numerele și separate prin spații, iar linia a treia va conține numere distincte separate prin spații, reprezentând un șir nu neapărat cromatic.
Date de ieșire
Fișierul de ieșire cromatic.out
trebuie să conțină o singură linie, pe care se va afișa, în funcție de numărul cerinței de rezolvat:
- Dacă = , numărul natural modulo ;
- Dacă = , numărul natural , ce reprezintă poziția șirului în lista ordonată lexicografic a tuturor șirurilor cromatice obținute prin rearanjarea elementelor șirului citit;
- Dacă = , un șir de numere naturale, separate prin spații, ce reprezintă cel de-al -lea șir cromatic în ordine lexicografică care se poate obține prin rearanjarea elementelor șirului .
Restricții și precizări
# | Punctaj | Restricții |
---|---|---|
1 | 9 | |
2 | 7 | |
3 | 10 | |
4 | 10 | |
5 | 10 | |
6 | 12 | |
7 | 10 | |
8 | 10 | |
9 | 10 | |
10 | 12 |
Exemplul 1
cromatic.in
1
4
1 5 3 8
cromatic.out
8
Explicație
Avem 8 șiruri cromatice distincte:
Exemplul 2
cromatic.in
2
4
5 3 1 8
cromatic.out
5
Explicație
În lista ordonată lexicografic, șirul citit se găsește pe poziția .
Exemplul 3
cromatic.in
3
4 7
5 3 1 8
cromatic.out
5 8 3 1
Explicație
A -a soluție în ordine lexicografică este .