Time limit: 0.5s
Memory limit: 128MB
Input: tort.in
Output: tort.out
Construim un tort. Pornim cu o foaie de grosime . Putem efectua una din două operații posibile:
- Împăturim tortul, îndoind foaia pe din două. Grosimea tortului se dublează.
- Adăugăm un strat de unt pe deasupra. Stratul de unt are grosime . Grosimea tortului crește cu .
Cerință
- Dându-se , și să se spună care este grosimea minimă a unui tort ce are grosime cel puțin egală cu .
- Dându-se , și să se spună care este numărul minim de operații în care se poate obține accea grosime minimă.
Date de intrare
Pe prima linie a fișierului de intrare tort.in
se vor găsi numărul cerinței, , și numărul de teste, . Pe următoarele linii se vor găsi triplete .
Date de ieșire
În fișierul de ieșire tort.out
afișați răspunsul cerut pentru fiecare triplet de la intrare, câte unul pe linie.
Restricții și precizări
# | Punctaj | Restricții |
---|---|---|
1 | 6 | |
2 | 7 | și are forma |
3 | 10 | |
4 | 15 | |
5 | 7 | |
6 | 19 | , fără restricții suplimentare |
7 | 36 | , fără restricții suplimentare |
Exemplul 1
tort.in
1 2
90 100 480
15 25 507
tort.out
480
510
Explicație
Exemplul 2
tort.in
2 2
90 100 480
15 25 507
tort.out
3
7
Exemplul 3
tort.in
1 1
10 10 632
tort.out
640
Explicație
sau
Exemplul 4
tort.in
2 1
10 10 632
tort.out
6
Exemplul 5
tort.in
2 1
3 7 767
tort.out
8
Explicație
Tortul va avea grosime minimă , obținută astfel: