Bu ızahın İngiliscə və (offical) Tutoriyalı:
Əlavə olaraq 0 ları 1 eləmək sizə heçnə qazandırmır.
Gəlin 1 lərin sayını c olaraq işarəliyək.
Siz problemin şərtini biraz analiz etsəniz biz c nı hər turda ən çox 1 dənə azalda biləcəyimizi görəssiniz çünki seçdiyimiz alt ardıcılıqda ya 0 larla birlərin sayı bərabər və ya 1-i çox olur , buna görə də cavab c 0-a düşənə qədər onu bir-bir azaltmaq yani elə c nin özü olacaq.
Dayanmadan soldan sağa sağdan sola getmək ən sərfəlisidir
Bütün nodalara ən tez çatmaq üçün soldan sağa sağdan sola gedirik ,**hər hansı** bir noda ən gec çatma vaxtı a[i] dən böyük və ya bərabər(artıq gələndə 0 olacaq) olarsa cavab "No" ,əks halda "Yes"olur. Ən gec çatma vaxtını (max(i ,n — i — 1) * 2)(0 dan indeksliyəndə) belə yoxluyuruq.
"Həll_qısa"-a baxın ilk öncə bi daha çox ispat yönümlüdür.
Dayanmadan soldan sağa sağdan sola getməyin ən yaxşı olmasının səbəbini görmək üçün solda və sağda balaca ədəd olan inputa baxmaq bəsdir məsələn : 6 10 10 6 burada helə etməsək soldakı və ya sağdakı ədəd 0-a düşəcək başqa sözlə belə etdikdə bütün ədədlərə ən tez şəkildə çatacıyıq , ən balaca ədədin ətrafında fırlanmaq kimi fikirlərin işə yaramamaq və hər bir yerə ən tez çatanda ən geç çatma vaxtının (max(i ,n — i — 1) * 2)(0 dan indeksliyəndə) səbəbi:
6 4 6 6 -da ilk öncə 5 4 5 5 olur
2-ci də 6 2 4 4 olur
3-cü də 5 4 3 3 olur, gördüyünüz kimi biz ilk ikisini qurtara bilsəkdə digər ikisini qurtar bilmək olmur(bunu ilk həmlə elədiyimiz yerdə olsaqda bəzi elementlərin azaldığından tuta bilərik)(heç bir cür)