- محدودیت زمان: ۲ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
- منبع: آزمون مقدماتی اول دوره ۲۶ المپیاد کامپیوتر
توابع
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≤50 000
1≤l≤r≤1018
خروجی🔗
خروجی شامل q سطر است که در i امین (1≤i≤q) سطر از آن، پاسخ پرسمان i ام آمده است.
زیرمسئلهها🔗
زیرمسئله |
نمره |
محدودیت |
۱ |
۲۵ |
l,r≤1 000 000 |
۲ |
۲۵ |
r−l≤100,q≤10 000 |
۳ |
۵۰ |
بدون محدودیت اضافی |
مثال🔗
ورودی نمونه ۱🔗
خروجی نمونه ۱🔗