Tualet kabinələri#8693

Tualet kabinələri

1 saniyə
128 meqabayt
Orta

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.

Nümunələr

Nümunə 1

Loading
Loading