D - 2-variable Function || AtCoder Beginner Contest 246
প্রব্লেম স্টেটমেন্টঃ একটা ভ্যালু N দেয়া হবে। বের করতে হবে সবথেকে ছোট X (X >= N)। X বের করতে আমাদের একটি সমীকরণ ফলো করতে হবে। যেখানে দুটো ভ্যারিয়েবল A, B এমনভাবে নিতে হবে যাতে সমীকরণ থেকে সব থেকে ছোট ভ্যালু পাওয়া যায়।
সমীকরণঃ
.
অবসারবেশনঃ যেহেতু X এর ম্যক্সিমাম ভ্যালু 10^18 সুতরাং A or B এর ভ্যালু ম্যাক্সিমাম 10^6 হতে পারবে কারণ 3√10^18 = 10^6.
সলিউশনঃ আমরা প্রব্লেম টি সল্ভ করতে টু পয়েন্টার মেথড ইউজ করব। ১ থেকে ১০*৬ পর্যন্ত পয়েন্টার চালালেই রেসাল্ট পেয়ে যাবো।
কোডঃ
Two pointer Method: If found value is greater than desired value than decrease the greater value and if found value is smaller than desired value than increase the smaller one.
Comments
Post a Comment