Logo
(追記) (追記ここまで)

29379번 - Гарри Поттер и Распределяющая Шляпа 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB21141161.111%

문제

Испокон веков разделением учеников на факультеты занимается волшебная шляпа. Раньше в школе было четыре различных факультета, но после недавних реформ факультетов стало $p$. Шляпа же всё ещё занимается распределением учеников.

Перед торжественной церемонией шляпа заранее составляет план распределения учеников по факультетам. План является последовательностью чисел $a_1, a_2, \ldots, a_k,ドル где $a_i$ является номером факультета, на который попадет $i$-й ученик.

В своём плане шляпа использует для факультетов номера от 0ドル$ до $p-1$. Следующим за $i$-м факультетом считается $(i+1)$-й, за $(p-1)$-м --- нулевой. Первая версия плана содержит только один факультет --- нулевой. После чего шляпа много раз дописывает в конец плана текущее содержимое плана, заменив каждый факультет на следующий.

Рассмотрим распределение девяти учеников по четырём факультетам. Шляпа будет последовательно строить следующие планы: $(0),ドル $(0, 1),ドル $(0, 1, 1, 2),ドル $(0, 1, 1, 2, 1, 2, 2, 3),ドル $(0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 0)$. Длина последнего плана достаточна для распределения всех учеников по факультетам, поэтому следующие планы шляпа может не строить.

Скажите, на какой из $p$ факультетов шляпа распределит $n$-го ученика.

입력

В первой строке задано число $q$ (1ドル \le q \le 100{,円}000$) --- количество запросов. В следующих $q$ строках описаны запросы. Каждый запрос содержит два целых числа $n$ и $p$ (1ドル \le n \le 10^{18},ドル 2ドル \le p \le 10^{18}$) --- номер ученика и количество факультетов в Хогвартсе.

출력

Для каждого запроса выведите одно число --- номер факультета, на который шляпа распределит $n$-го ученика.

제한

예제 입력 1

10
1 4
2 4
3 4
4 4
5 4
6 4
7 4
8 4
9 4
10 4

예제 출력 1

0
1
1
2
1
2
2
3
1
2

힌트

출처

Olympiad > Russian Olympiad in Informatics > Internet Olympiads in Informatics > 2012-2013 Season > March 18, 2013 B번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /