आपको एक ऐसी इमारत दी गई है जिसमें n मंज़िलें हैं और आपके पास k एक जैसी बोतलें मौजूद हैं। हर बोतल को इमारत की किसी भी मंज़िल से गिराया जा सकता है। यदि बोतल को किसी निश्चित मंज़िल या उससे ऊपर से गिराया जाए, तो वह टूट जाती है।
इस समस्या में आपका उद्देश्य यह पता लगाना है कि बोतल के टूटने की सबसे निचली मंज़िल कौन-सी है और इसे निर्धारित करने के लिए आपको न्यूनतम कितने प्रयासों की आवश्यकता पड़ेगी। इन k बोतलों का इस्तेमाल करते हुए आपको यह सीमा (सबसे निचली टूटने वाली मंज़िल) खोजनी है, साथ ही यह सुनिश्चित करना है कि आप प्रयासों की संख्या को यथासंभव कम रखें।
इनपुट
इनपुट की एकमात्र पंक्ति में दो पूर्णांक n (100 ≤ n ≤ 500) और k (1 ≤ k ≤ 30) दिए होते हैं, जिनका क्रमशः अर्थ इमारत की मंज़िलों की संख्या और उपलब्ध बोतलों की संख्या है।
आउटपुट
आपको सिर्फ एक पूर्णांक प्रदर्शित करना है, जो कि उपलब्ध बोतलों का उपयोग करके बोतल के टूटने की सबसे निचली मंज़िल तलाशने के लिए आवश्यक न्यूनतम प्रयासों की संख्या को दर्शाता है।