... cost2 <= 106 אז קודם כל נסביר את השאלה שהולכת כך: נותנים לנו רשימת של
מספרים. לדוגמה (2,3,3,3,5). עלינו לגרום לכל
המספרים, להפוך להיות בערך של המספר הגדול ביותר שנמצא ברשימת
המספרים. את זה ניתן לעשות באמצעות פעולה של הוספת הערך 1 לכל
המספרים, עד שהם יגיעו לערך הרצוי. לדוגמה, נניח שאנחנו רוצים להפוך את המספר 2 ... המספר הגדול ביותר ברשימה, הוא 5 ולכן אנחנו נרצה להפוך את כל
המספרים לערך 5, דהיינו, שבסוף התהליך הרשימה תיראה כך: (5,5,5,5,5). ולשם כך עלינו לעשות 9 פעולות של הוספת הערך 1, לכל אחד
מהמספרים, כדי שבסופו של תהליך, כל הערכים יהיו זהים לערך של המספר הגדול ביותר. את ... באפשרותך לבצע פעולה אחת בכל פעם, של הוספת הערך 1, כדי להגדיל את כל
המספרים, לערך הגדול ביותר, דהיינו, לבצע 9 פעולות של הגדלה ב 1, כנל. אבל כמו כן, ... מגדילים אותו בערך 1. כאשר בדוגמה הנל, אנחנו 4 פעמים נעשה הגדלה של שני
מספרים שונים בערך 1 ופעם אחת אחרונה, נגדיל רק ערך אחד בלבד, בערך 1, כי כבר אין ערכים נוספים שצריכים להגדיל. ועד כאן הבנו, שיש לנו רשימת
מספרים, שאנחנו צריכים ליישר קו להגדיל את כל הערכים לערך הגדול ביותר, באמצעות ... או של 2 פעולות הוספה של 1 בכל פעם. וכאן העלילה מסתבכת. מביאים לנו 2
מספרים נוספים COST1 + COST2. דהיינו, לכל פעולת הוספה יש מחיר. אם נוסיף רק 1 ... The total cost is 6. ועכשיו השאלה הנשאלת היא כדלקמן: בהינתן רשימת
מספרים כלשהי באורך כלשהו, לדוגמה
המספרים הבאים (ובכוונה אני מביא כאן רשימה ארוכה, כדי להמחיש את הקושי של השאלה) ... מה יהיה המחיר המינימלי ההכרחי שנהיה חייבים לשלם, כדי להגדיל את כל
המספרים למספר הגדול ביותר? עד כאן הפירוש של השאלה... ועכשיו נצעד אל התשובה כך: ... כל התהליך לחלקים הכי קטנים, לדוגמה כך: שואלים אותנו: נותנים לנו רשימת
מספרים . עלינו להגדיל את כל רשימת
המספרים, אל המספר הגדול ביותר ברשימה. עלינו לעשות זאת באמצעות פעולת הוספה של הערך 1, לכל אחד
מהמספרים, עד שניישר קו של כל
המספרים. נעצור כאן לרגע אחד. האם עד כאן היינו יודעים איך לנתח את המצב הזה? ... את המספר הגדול ביותר ברשימה. ואחר כך היינו מוספים את הערך 1 לכל אחד
מהמספרים. היינו עושים זאת X פעמים, עד שהיינו מיישרים קו של כל
המספרים. עכשיו, נניח שהיו אומרים לנו, שלכל פעולת הוספה, יש מחיר1 כלשהו. והיו שואלים אותנו, כמה יעלה לנו להגדיל את כל
המספרים? האם היינו יודעים לפתור את זה? תשובה: כן. היינו פשוט סופרים את כל ... פעולות ההוספה בערך של מחיר1, והיינו מגיעים לעלות שלנו ליישר את כל
המספרים כלפי מעלה. ונעצור כאן לרגע וננתח את הנל. בעצם יש לנו כאן כמה שלבים. שלב ... העניין ברשימה הנל המספר הגדול ביותר הוא 100. שלב 2 - לעבור על כל
המספרים, ולבצע פעולה של 100 פחות הערך בכל מיקום. וכך נקבל את כמות ההוספות ... יש לנו כאן במהות 2 תהליכים. 1 - איתור המספר הגדול ביותר. 2 - הגדלת כל
המספרים וסכימה של הערכים וכולי. האם ניתן לבצע את 2 התהליכים האלו תוך כדי ריצה ... הגדול ביותר. ואז מכך נוכל לבצע חישוב של: הערך הגדול ביותר, כפול כמות
המספרים ברשימה. ואז נוכל להסיק מכך את הערך המקסימאלי שהיה, אם כל הערכים ברשימה ... 50 ערכים 100 שהוא הערך הגדול ביותר, = 5000. עכשיו, אם נסכום את כל
המספרים, אז נראה שהערך שלהם הוא X. ואז 5000 פחות X, זה בעצם ההפרש שבין הערכים ... ו ה X הזה, מייצג את כמות פעולות ההוספה שנצטרך לעשות, כדי להביא את כל
המספרים לערך המקסימאלי שלהם. ולתובנה הזאת, שניתן לחשב את הכל בריצה אחת, ניתן ... לחלק לחלקים ונעבור לחלק קצת יותר קשה של השאלה, והוא, בהינתן רשימה של
מספרים כנל, ובהינתן אפשרות אחת ויחידה להגדיל את
המספרים כנל, והיא באמצעות הגדלת 2
מספרים בכל פעם בבת אחת. דהיינו, שאנחנו חייבים להגדיל בערך 1, אך ורק שני
מספרים שונים בבת אחת. האם היינו יודעים לחשב את כמות הפעמים שניתן לבצע את פעולת ...