... פעולה אחת בכל פעם, של הוספת הערך 1, כדי
להגדיל את כל המספרים, לערך הגדול ביותר, דהיינו, לבצע 9 פעולות של הגדלה ב 1, כנל. אבל כמו כן, באפשרותך בפעולה אחת, הגדלה של שני ערכים שונים ב 1. דהיינו, בבת אחת להוסיף בשני מקומות ... בערך 1, כי כבר אין ערכים נוספים שצריכים
להגדיל. ועד כאן הבנו, שיש לנו רשימת מספרים, שאנחנו צריכים ליישר קו
להגדיל את כל הערכים לערך הגדול ביותר, באמצעות פעולת הוספה של הערך 1 עד שכל הערכים יהיו זהים ערך הגדול ביותר. ואנחנו יכולים לבצע את זה, או באמצעות פעולת הוספה של 1 בכל פעם, או של 2 ... המינימלי ההכרחי שנהיה חייבים לשלם, כדי
להגדיל את כל המספרים למספר הגדול ביותר? עד כאן הפירוש של השאלה... ועכשיו נצעד אל התשובה כך: אז איך בעצם ניגשים לזה? אז לשם כך נחזור שוב על השאלה מההתחלה וננסה לחלק את כל התהליך ... אותנו: נותנים לנו רשימת מספרים. עלינו
להגדיל את כל רשימת המספרים, אל המספר הגדול ביותר ברשימה. עלינו לעשות זאת באמצעות פעולת הוספה של הערך 1, לכל אחד מהמספרים, עד שניישר קו של כל המספרים. נעצור כאן לרגע אחד. האם עד כאן ... כלשהו. והיו שואלים אותנו, כמה יעלה לנו
להגדיל את כל המספרים? האם היינו יודעים לפתור את זה? תשובה: כן. היינו פשוט סופרים את כל פעולות ההוספה של הערך 1. היינו מכפילים את כמות פעולות ההוספה בערך של מחיר1, והיינו מגיעים ... הגדול ביותר. ורק אחר כך לעבור על כל הערכים
להגדיל אותם וכולי. אבל זאת לא כל האמת. כי בפועל, אפשרי לרוץ פעם אחת על כל הרשימה ולבצע בריצה אחת את הפעולות הבאות: 1 - לנסות לאתר כל המספר הגדול ביותר. 2 - באותה ריצה, לסכום את כל ... של מספרים כנל, ובהינתן אפשרות אחת ויחידה
להגדיל את המספרים כנל, והיא באמצעות הגדלת 2 מספרים בכל פעם בבת אחת. דהיינו, שאנחנו חייבים
להגדיל בערך 1, אך ורק שני מספרים שונים בבת אחת. האם היינו יודעים לחשב את כמות הפעמים שניתן לבצע את פעולת ההגדלה הזאת? ואסביר: נשים רגע אחד בצד את תהליך איתור המספר הגדול ביותר. נשים ... הגדלות בודדות נבצע. דהיינו, אם יש לנו צורך
להגדיל את כל המספרים נניח בסכום של 500. אז כעיקרון, במידה ונרצה לבצע כמה שיותר הגדלות כפולות, ורק לאחר מכן הגדלות בודדות, כמה פעמים נוכל לבצע הגדלות כפולות, לפני שנהיה חייבים לבצע ... אז, מה יהיה המחיר המינימלי שנוכל לשלם, כדי
להגדיל את כל המספרים. ואיך ניגשים לפתור את החלק הזה של השאלה? אז לשם כך לכאורה בעצם עלינו לקחת רשימה, לחשב את כל האפשרויות האפשריות
להגדיל את הרשימה למקסימום. באמצעות כל השילובים של הגדלה בודדת ושל הגדלה כפולה. ומכאן נוכל לדעת, מהו המחיר המינימלי שעלינו לשלם כדי
להגדיל את הרשימה כולה. אבל זהו כמובן חישוב לא יעיל מבחינת זמן ריצה. ולכן, אם היינו יודעים מראש, איך הכי יעיל למלא את הרשימה, אז היה יותר קל לחשב את העלות. דהיינו, אם ננתח את כל ... את הדבר הבא: בהינתן רשימת מספרים, שעלינו
להגדיל אותה למקסימום ב 2 דרכים אפשרויות עם 2 מחירים שונים. אז בשלב הראשון עלינו להבין האם כדאי לנו לבצע כמה שיותר הגדלות בודדות או כפולות, באמצעות חישוב המחיר כנל. ואז, אם עלינו ... את הרשימה הבאה (1,2) דהיינו, שאנחנו צריכים
להגדיל את 1 לערך 2. האם ניתן לבצע זאת בהגדלה כפולה? כמובן שלא. אפשרי לבצע זאת בהגדלה אחת בודדת בלבד. ואם יש לנו את הרשימה (1, 100) דהיינו, שאנחנו צריכים
להגדיל את הערך 1 לערך 100. האם ניתן לעשות זאת בהגדלות כפולות? תשובה: לא. רק ב 99 הגדלות בודדות. או במילים אחרות, בטוח נכון שכאשר צריכים
להגדיל רק עמודה אחת בודדת, הרי שאין אפשרות לבצע הגדלה כפולה. ומה אם יש לנו
להגדיל 2 עמודות, לדוגמה (1, 1, 2), שעלינו
להגדיל את 2 העמודות של ה 1 אל הערך 2. הרי שניתן לבצע כאן הגדלה אחת כפולה שתהפוך את כל הרשימה ל (2, 2, 2). ואם יש לנו רשימה של (1, 1, 100). במקרה כזה נוכל לבצע 99 הגדלות כפולות, ... ל (100,100,100). ואם לצורך העניין נצטרך
להגדיל 3 עמודות, לדוגמה (1,1,1,2), הרי שבמקרה כזה, נוכל לבצע הגדלה 1 כפולה, שתביא אותנו ל (2,2,1,2) ואז נצטרך לבצע עוד הגדלה בודדת כדי ליישר את כל הרשימה ל (2,2,2,2). ומה יקרה אם ... נובע ש, בהינתן עמודות שוות בגובהן, שצריך
להגדיל את כולן באותה כמות הגדלות, אז: אם יש לנו מספר זוגי של עמודות שצריכים
להגדיל, לדוגמה: (1,1,100) (1,1,1,1,100) (1,1,1,1,1,1,100) (1,1,1,1,1,1,1,1,100) אז ניקח את סהכ ההגדלות שצריכים לבצע, נחלק ל 2 ונקבל את כמות ההגדלות הכפולות שצריכים לבצע. ואם יש לנו מספר אי זוגי של עמודות שצריכים
להגדיל, לדוגמה: (1,100) (1,1,1,100) (1,1,1,1,1,100) (1,1,1,1,1,1,1,100) אז נצטרך לבצע את החישוב הבא: אם כמות ההגדלות שצריך לבצע, היא עצמה זוגית, דהיינו, לדוגמה במקרים הבאים: (2,100) ... (2,2,2,2,2,100) (2,2,2,2,2,2,2,100) שצריכים
להגדיל את כל המספרים ב 98 שזה מספר זוגי, אז שוב כנל, ניקח את סהכ ההגדלות שצריכים לבצע, לחלק ל 2. וזו תהיה כמות ההגדלות הכפולות שניתן לבצע. אבל אם נצטרך
להגדיל את המספרים בערך אי זוגי וכמות המספרים עצמם שנצטרך
להגדיל תהיה אי זוגית, לדוגמה: (1,100) (1,1,1,100) (1,1,1,1,1,100) (1,1,1,1,1,1,1,100) שיש לנו כמות אי זוגית של עמודות שצריכים
להגדיל + צריכים
להגדיל כל עמודה ב 99, שזה מספר אי זוגי, אז במקרה כזה, ניקח את סהכ הסכום שצריך
להגדיל, נחלק אותו ב 2. וזו תהיה כמות ההגדלות הכפולות שצריכים לבצע. ואחר כך בוודאות שנצטרך לבצע עוד הגדלה אחת בודדת של השארית. אבל כל מה שאמרנו עד כאן, נכון, אבל באופן חלקי. ניקח ... עם הערך הקטן ביותר, שאותה אנחנו הכי צריכים
להגדיל. דהיינו, בדיוק כמו שאנחנו מחפשים את הערך MAX שהוא הערך שאליו צריכים