- محدودیت زمان: ۲ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
توابع
f:N→{−1,1}
و
g:N→Z
به صورت زیر تعریف میشوند:

g(n)=i=1∑nf(i)
در توضیحات بالا، منظور از
N
مجموعهی اعداد طبیعی و منظور از
Z
مجموعهی اعداد صحیح است.
برنامهای بنویسید که q پرسمان به صورت (l,r) دریافت کند و به ازای هر پرسمان تعداد نابجاییهای دنبالهی
g(l),g(l+1),…,g(r)
را محاسبه کند. با توجه به اینکه پاسخ پرسمانها میتواند بزرگ باشد، باقیماندهی آن بر
109+7
را محاسبه کنید.
تعداد نابجاییهای دنبالهی
a1,a2,…,an
برابر است با تعداد جفت
(i,j)
هایی که i<j و ai>aj است.
ورودی🔗
در سطر اول ورودی عدد طبیعی q، تعداد پرسمانها، آمده است.
در هر یک از q سطر بعدی به ترتیب دو عدد طبیعی l و r آمده است.
1≤q≤5×104
1≤l≤r≤1018
خروجی🔗
خروجی شامل q سطر است که در i امین (1≤i≤q) سطر از آن، پاسخ پرسمان i ام آمده است.
زیرمسئلهها🔗
الف) l,r≤106 (۲۵ نمره)
ب) r−l≤100,q≤104 (۲۵ نمره)
ج) بدون محدودیت اضافی (۵۰ نمره)
مثال🔗
ورودی نمونه🔗
خروجی نمونه🔗