سلام دوست عزیز😃👋
به مسابقه «کدکاپ ۸ - دستگرمی» خوش آمدی!
لینکهای مفید برای شرکت در مسابقه:
این مسابقه هیچ تاثیری در رقابتهای کدکاپ ندارد و صرفاً برای دستگرمی شما است.
موفق باشید و بهتون خوش بگذره 😉✌
یک آرایه از اعداد صحیح مثل داریم. در مرحله یک عملیات مثل زیر روی آن انجام میدهیم.
دو عدد صحیح مثل و انتخاب میکنیم که باشد و سپس مقدار
میشود که منظور از جملهی ام دنباله فیبوناچی است. دنباله فیبوناچی به صورت زیر تعریف میشود:
از شما میخواهیم بعد از پایان این عملیاتها، مقدار نهایی اعضای آرایه را چاپ کنید. چون این مقدار میتواند خیلی بزرگ باشد. صرفاً باقیمانده هر عدد آرایه را بر چاپ کنید.
در سطر اول ورودی، دو عدد صحیح و مثبت و که با یک فاصله از هم جدا شدهاند، داده میشود.
در سطر دوم ورودی، عدد صحیح که با یک فاصله از هم جدا شدهاند داده میشود.
در سطر بعدی، در هر سطر دو عدد صحیح و داده میشود که نشاندهندهی بازهی عملیات است.
در تنها سطر خروجی، عدد صحیح که با یک فاصله از هم جدا شدهاند را چاپ کنید که وضعیت نهایی آرایهی را نشان میدهد.
چون ممکن است مقدار اعداد آرایه خیلی بزرگ شود، باقیماندهی این اعداد را بر چاپ کنید.
نیازی نیست همهی تغییرات را در لحظه روی آرایه اعمال کنیم. میتوانیم همه را دریافت کنیم و با ترتیبی مناسب آنها را روی آرایه اعمال کنیم.
اگر لحظهی شروع و پایان هر بازه که باید تغییر کند را روی آرایه در نظر بگیریم و به ترتیب از چپ آرایه (اندیس ۰) شروع کنیم و به سمت راست (اندیس ) حرکت کنیم و همهی تغییرات را به همین ترتیب روی آرایه اعمال کنیم. به این ایده sweep line میگویند.
با توجه به رابطه بازگشتی فیبوناچی که برای همه یکی هست میتوان اتفاق این تغییرات را جمع کرد. یعنی اگر چند تغییر روی یک خانه اتفاق میافتد میتوان همهی آنها را باهم جمع کرد.