لینک‌های مفید برای شرکت در مسابقه:

جایگشت کمتر


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

امین یک جایگشت از اعداد 11 تا nn دارد. این جایگشت را با π1,π2,,πn\pi_1, \pi_2, \dots, \pi_n\, نشان می‌دهیم. از شما می‌خواهیم برنامه‌ای بنویسید که تعداد جایگشت‌هایی که در ترتیب الفبایی از این جایگشت کوچک‌تر هستند را پیدا کند.

چون ممکن است این تعداد خیلی زیاد باشد، باقی‌مانده‌ی جواب را بر 109+710^9 + 7 چاپ کنید.

ورودی🔗

در سطر اول ورودی، عدد صحیح و مثبت nn آمده که تعداد اعضای جایگشت را نشان می‌دهد.

1n10001 \leq n \leq 1000

در سطر دوم ورودی، nn عدد صحیح π1,π2,,πn\pi_1, \pi_2, \dots, \pi_n\, آمده که با یک فاصله از هم جدا شده‌اند و وضعیت جایگشت را نشان می‌دهند.

خروجی🔗

در تنها سطر خروجی، باقی‌مانده‌ی تعداد جایگشت‌هایی که از نظر ترتیب الفبایی از جایگشت داده شده کوچک‌تر هستند را بر 109+710^9 + 7 چاپ کنید.

مثال‌ها🔗

ورودی نمونه ۱🔗

3
3 1 2
Plain text

خروجی نمونه ۱🔗

4
Plain text

جایگشت‌های اعداد 11 تا 33 به ترتیب به صورت زیر هستند.

  • [1,2,3][1, 2, 3]
  • [1,3,2][1, 3, 2]
  • [2,1,3][2, 1, 3]
  • [2,3,1][2, 3, 1]
  • [3,1,2][3, 1, 2] جایگشت داده شده.
  • [3,2,1][3, 2, 1]

ورودی نمونه ۲🔗

2
1 2
Plain text

خروجی نمونه ۲🔗

0
Plain text

جایگشت‌های اعداد 11 تا 22 به ترتیب به صورت زیر هستند.

  • [1,2][1, 2] جایگشت داده شده.
  • [2.1][2. 1]
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.