- محدودیت زمان: ۲ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
یک دنباله از اعداد صحیح مثل $a_1, a_2, \dots, a_n,$ داریم. $q$ درخواست داده میشود. دو نوع درخواست داریم. در هر درخواست دو عدد صحیح $l$ و $r$ که $1 \leq l \leq r \leq n$ است داده میشود از شما میخواهیم همهی اعداد $a_l, a_{l+1}, \dots, a_r,$ را به $f(a_l), f(a_{l+1}), \dots, f(a_r),$ تغییر داده و در جایگاه آن بنویسید، و سپس مجموع اعداد همین زیربازه $l$ تا $r$ را بعد از تغییر چاپ کنید. یعنی در هر درخواست یک بازه پشت سر هم از دنباله تغییر میکند و هر عدد دنباله تبدیل به $f$ خود میشود.
مقدار $f(k)$ از رابطهی زیر بدست میآید:
$$f(k) = \lfloor \sqrt{k} \rfloor . (\lfloor \sqrt{k} \rfloor - 1)$$
ورودی
در سطر اول ورودی، عدد صحیح و مثبت $n$ آمده که تعداد اعضای دنبالهی را نشان میدهد. $$1 \leq n \leq 100 , 000$$
در سطر دوم ورودی، $n$ عدد صحیح که با یک فاصله از هم جدا شدهاند آمده است. عدد $i$ ام ظاهر شده مقدار $a_i$ را نشان میدهد. $$1 \leq a_i \leq 1000 , 000$$
در سطر سوم ورودی، عدد صحیح $q$ آمده که تعداد درخواستها را نشان میدهد. $$1 \leq q \leq 1000 , 000$$
در $q$ سطر بعدی، در هر سطر یک درخواست میآید. هر درخواست به صورت دو عدد $l$ و $r$ نشان داده میشود که $l$ و $r$ به ترتیب شروع و پایان بازهی درخواست را نشان میدهند.
$$1 \leq l \leq r \leq n$$
خروجی
به تعداد درخواستها، مقدار مجموع زیربازه را بعد از تغییر گفته شده چاپ کنید.
مثالها
ورودی نمونه ۱
5
10 4 11 3 7
3
2 4
1 3
1 5
خروجی نمونه ۱
8
8
4
ارسال پاسخ برای این سؤال