Asosiy qismga o‘tish
Sharof Rashidov nomida Samarqand davlat universiteti 2-son akademik litseyida Rated Contest #1
Yakka tartibda · Reytingli — natija reytingga ta’sir qiladi · Qisman ball: o‘tgan testlar bo‘yicha
Tugagan

A. Shokoladni bo‘lish

50 ball

(Quyidagini «Masala sharti» maydoniga shu ko‘rinishda qo‘ying —
rasm qatori ham alohida qatorda tursin.)

Anvar do‘kondan N × M o‘lchamli shokolad plitkasini sotib oldi. Plitka N qator va M ustundan iborat bo‘lib, jami N · M ta kichik 1 × 1 bo‘lakchadan tashkil topgan.

Anvar shokoladni sinfdoshlariga bo‘lib bermoqchi, shuning uchun uni alohida 1 × 1 bo‘lakchalarga ajratishi kerak.

Bitta sindirish — bu bitta bo‘lakni bo‘lakchalar orasidagi to‘g‘ri chiziq bo‘yicha ikkiga ajratish. Bo‘laklarni ustma-ust qo‘yib, bir vaqtda sindirish mumkin emas.

Shokoladni bo‘lish
Shokoladni bo‘lish

Anvarga plitkani to‘liq 1 × 1 bo‘lakchalarga ajratish uchun eng kamida nechta sindirish kerak bo‘ladi?

Kirish ma’lumotlari

Bitta qatorda probel bilan ajratilgan ikkita butun son: N va M.

Chiqish ma’lumotlari

Bitta butun son — eng kam sindirishlar soni.

Cheklovlar

1 ≤ N, M ≤ 10^9

Misollar

Kirish
2 3
Chiqish
5
Kirish
1 1
Chiqish
0

Tushuntirish

1-misol rasmda ko‘rsatilgan. Avval plitkani gorizontal chiziq bo‘yicha ikkita 1 × 3 bo‘lakka ajratamiz (1 ta sindirish). Keyin har bir 1 × 3 bo‘lakni 2 martadan sindiramiz (4 ta sindirish). Jami 5 ta.

2-misolda shokolad allaqachon bitta 1 × 1 bo‘lakcha — hech narsa sindirish shart emas.

Diqqat: javob juda katta bo‘lishi mumkin. C++ da long long, Java da long turidan foydalaning.

Qoralama doskasi
Kod yozish
Kod yuborish 10 ta test
Yechim yuborish uchun tizimga kiring.