B.Bitin çevrilməsi
Medium · 2 s · 256 MB
Sizə qeyri-mənfi tam ədədi ifadə edən, uzunluğu olan ikilik sətir verilir. Sətrin hər simvolu 0 və ya 1-dir. Həmçinin tam ədədlər massivi verilir. , -ci biti çevirməyin (0-ı 1-ə və ya 1-i 0-a dəyişməyin) qiymətidir. Sizin ümumi büdcəniz var.
İstənilən sayda biti, o cümlədən heç bir biti çevirməməyi seçə bilərsiniz. Aşağıdakı şərtlər ödənilməlidir:
- Çevrilən bütün bitlərin qiymətlərinin cəmi -dan çox olmamalıdır.
- Alınan ikilik sətir tək ədədi ifadə etməlidir. Başqa sözlə, son simvol
1olmalıdır.
Bu şərtləri ödəyən ən kiçik mümkün ədədi tapın. Alınan ikilik sətri 2-lik say sistemindəki ədəd kimi şərh edin və nəticəni onluq say sistemində çap edin. Büdcə daxilində tək ədəd almaq mümkün deyilsə, -1 çap edin.
Giriş verilənləri
- Birinci sətirdə ikilik sətrin uzunluğu və ümumi büdcə olan və (, ) tam ədədləri verilir.
- İkinci sətirdə uzunluğu olan ikilik sətri verilir.
- Üçüncü sətirdə tam ədəd () verilir. , -ci biti çevirməyin qiymətidir.
Bitlər soldan sağa, -dən başlayaraq nömrələnir. Buna görə də sonuncu (ən kiçik mərtəbəli) bitin çevrilmə qiymətidir.
Çıxış verilənləri
Büdcə daxilində əldə edilə bilən ən kiçik tək ədədi çap edin. Belə ədəd almaq mümkün deyilsə, -1 çap edin.
İzah
İlkin sətir ədədini ifadə edir. Birinci biti (qiyməti ), üçüncü biti (qiyməti ) və sonuncu biti (qiyməti ) çevirək. Ümumi xərc olur. Nəticədə 00011 sətri alınır və bu, ədədinə bərabərdir. Bu giriş üçün əldə edilə bilən ən kiçik tək ədəd -dür.
Məhdudiyyətlər və qiymətləndirmə
Maksimum bal 100-dür.
- Alt tapşırıq 1 — 20 bal: , .
- Alt tapşırıq 2 — 30 bal: , .
- Alt tapşırıq 3 — 50 bal: Əlavə məhdudiyyət yoxdur.
Alt tapşırıqlar ayrıca yoxlanılır. Alt tapşırığın ballarını qazanmaq üçün həmin alt tapşırığa aid bütün testlərdən uğurla keçmək lazımdır.
Nümunələr
Giriş #1
5 7 10110 3 2 1 4 2
Çıxış #1
3