Каосар та Сегменти#12325

Каосар та Сегменти (Розбір)

Автор проблеми:

AlKaosar Hussain

Підготовлено:

AlKaosar Hussain

Редаговано:

Hasan Saleh (MathModel)

Рішення

Нам дана перестановка . Очевидно, що максимальний елемент перестановки дорівнює .

Нехай позиція у перестановці буде (індексація з 1). Будь-який неперервний підмасив (сегмент), який не містить , матиме максимальне значення строго менше за . Отже, лише сегменти, які повністю містяться в [1, i-1] (ліворуч від ) та [i+1, n] (праворуч від ), сприяють відповіді.

Нагадаємо, що кількість непорожніх підмасивів довжини дорівнює \frac{k(k+1)}{2}.

  • Кількість допустимих сегментів ліворуч від :

    \frac{i(i-1)}{2}
  • Кількість допустимих сегментів праворуч від :

    \frac{(n-i)(n-i+1)}{2}

Таким чином, загальна кількість сегментів, максимальне значення яких строго менше за максимальне значення перестановки, дорівнює:

\frac{i(i-1)}{2} + \frac{(n-i)(n-i+1)}{2}

Складність .

for _ in range(int(input())):
    n=int(input())
    p=list(map(int, input().split()))
    m=p.index(n)
    ans=0
    ans+=(m*(m+1))//2
    ans+=((n-m)*(n-m-1))//2
    print(ans)