Tualet kabinələri
Tualetdə n + 2 kabinə sırayla düzülüb. Sol və sağ uclardakı kabinələr daim mühafizəçilər tərəfindən tutulur. Qalan n kabinələr isə istifadəçilər üçündür.
Hər dəfə kimsə tualetə daxil olduqda, o, digər insanlardan mümkün qədər uzaq olan kabinəni seçməyə çalışır. Qarışıqlığın qarşısını almaq üçün müəyyən qaydalara əməl olunur: hər boş kabinə üçün s iki dəyər l[s]
və r[s]
hesablanır. Bunlar, s ilə solda və sağda ən yaxın dolu kabinə arasında olan boş kabinələrin sayını göstərir. Sonra ən uzaq qonşusu olan kabinələr nəzərə alınır, yəni min(l[s]
, r[s]
) maksimum olan s kabinələr. Əgər belə kabinə təkdirsə, o seçilir; əks halda, max(l[s]
, r[s]
) maksimum olan kabinə seçilir. Əgər belə kabinələr də bir neçə olarsa, onların ən solu seçilir.
k nəfər tualetə daxil olmağa hazırlaşır. Hər biri növbəti adam gəlməzdən əvvəl özünə kabinə seçir. Heç kim heç vaxt çıxmır.
Sonuncu şəxs öz kabinəsini s seçəndə, max(l[s]
, r[s]
) və min(l[s]
, r[s]
) dəyərləri nə olur?
Giriş məlumatları
Birinci sətir t testlərin sayını ehtiva edir (1 ≤ t ≤ 100). Sonra t sətir gəlir. Hər sətir iki tam ədəd n (1 ≤ n ≤ 10^18
) və k (1 ≤ k ≤ n) ehtiva edir.
Çıxış məlumatları
Hər test üçün Case #x: y z şəklində bir sətir çıxarın, burada x testin nömrəsidir (1-dən başlayaraq), y max(l[s]
, r[s]
) və z min(l[s]
, r[s]
) dəyərlərinə bərabərdir - bu dəyərlər sonuncu şəxs tualetə daxil olub kabinə s seçəndə hesablanır.