- محدودیت زمان: ۳ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
- منبع: آزمون عملی دوره ۲۴ المپیاد کامپیوتر
مادربزرگ می خواهد به مناسبت کسب مدال طلای جهانی(fullmark) توسط تمامی $n$ نوه اش به آنها جایزه بدهد. او آنها را پشت سر هم در یک ردیف و از چپ به راست نشانده است. مادربزرگ کمی حواس پرت هست و به طور ناگهانی یادش می آید که باید به بازه $l$ تا $r$ از نوه هایش جایزه بدهد و برای این کار به نفر اول(نفر $l$ ام) یک سکه به نفر بعد ۲ سکه و به نفر آخر(نفر $r$ ام) $r - l + 1$ سکه می دهد.
هر از گاهی هم مادربزرگ کنجکاو است که بداند مجموع تعداد سکه های بازه $l$ تا $r$ از نوه هایش چقدر می باشد.به مادربزرگ کمک کنید!
ورودی
در خط اول ورودی دو عدد $n$ و $q$ آمده است که تعداد نوه های مادربزرگ و تعداد عملیات های مادربزرگ می باشد!
در خط بعدی $n$ عدد آمده است که تعداد سکه های اولیه نوه های مادربزرگ به ترتیب از چپ به راست می باشد.این اعداد بین $0$ تا $10^9$ می باشند.
در $q$ خط بعدی در هر خط ابتدا رشته $t$ و سپس $l$ و $r$ آمده است.
اگر $t=ask$ باقیمانده مجموع تعداد سکه های نوه های بین بازه $l$ تا $r$ بر $10^9+7$ را چاپ کنید.
اگر $t=add$ مادربزرگ به بازه ی $l$ تا $r$ از نوه هایش به شکل گفته شده سکه می دهد. $$1 \le l \le r \le n \le 200\ 000$$
خروجی
به ازای هر یک از عملیات های $ask$ جواب را چاپ کنید.
زیرمسئلهها
زیرمسئله | نمره | محدودیت |
---|---|---|
۱ | ۳۰ | $1\le n,q \le 2\ 000$ |
۲ | ۲۰ | $,1\le n \le 2\ 000$ $1 \le q \le 200\ 000$ |
۳ | ۵۰ | بدون محدودیت اضافی |
مثال
ورودی نمونه ۱
5 10
4 7 4 7 4
ask 1 5
add 1 2
ask 2 4
add 3 5
ask 4 5
add 2 5
add 3 3
ask 3 3
ask 2 5
ask 1 5
خروجی نمونه ۱
26
20
16
8
41
46
(آزمون آزمایشی ۲۴ مین دوره المپیاد کامپیوتر-دوره تابستان المپیاد کامپیوتر ۱۳۹۳)
ارسال پاسخ برای این سؤال