Pentru un număr natural nenul reprezentat pe biți definim operația prin care eventualii biți de de la stânga și de la dreapta numărului se elimină, nu și cei din interior. De exemplu, pentru şi , ; dacă şi atunci .
Să considerăm un număr natural şi şirul numerelor naturale cuprinse între şi . Aceste numere se reprezintă pe exact biți. Fiecărui număr din șir i se aplică operația . Șirul se ordonează apoi după două criterii: primul este numărul biților de , iar dacă două numere au același număr de biți de , se vor ordona după al doilea criteriu, crescător după valori (în urma operației ). La final biții din fiecare număr se concatenează. De exemplu, dacă , atunci șirul inițial este . Se aplică operația și se obține șirul: . Ordonând mai întâi după numărul de biți de 1 și în caz de egalitate crescător se obține . Concatenând biții numerelor se obține 1111111101111
, secvență cu pozițiile de la stânga la dreapta numerotate de la .
Cerință
Date numerele naturale și , precum și numerele naturale , să se determine ce valoare are bitul de la acele poziții în șirul binar obținut?
Date de intrare
Fișierul de intrare conține pe prima linie numerele naturale și , iar pe a doua linie, separate prin spații, numerele naturale .
Date de ieșire
Fișierul de ieșire va conține o succesiune de biți, fără spații, reprezentând răspunsul la fiecare întrebare.
Restricții și precizări
- Se garantează că nu sunt mai mari decât numărul de biți din secvența creată.
# | Punctaj | Restricții |
---|---|---|
1 | 7 | şi |
2 | 7 | şi |
3 | 26 | şi |
4 | 17 | |
5 | 26 | |
6 | 17 | Fără restricții suplimentare |
Exemple
trim.in
3 10
7 1 2 3 4 5 6 8 9 10
trim.out
1111111101
Considerăm inițial numerele de la la . După aplicația operației și sortare, ele devin . Așadar, după concatenare avem 1111111101111
, iar elementele de pe pozițiile cerute sunt cele din exemplu.
trim.in
5 10
1 2 3 4 15 23 19 45 66 99
trim.out
1111011111
Considerăm inițial numerele de la la . După aplicația operației și sortare, ele devin
.
Așadar, după concatenare avem 1111111111111101101101100110011000111111111110111011110111011001110101110011111111110111110111110111111
iar elementele de pe pozițiile cerute sunt cele din exemplu.