Se dă un șir format din numere naturale nenule. Elementele șirului sunt numerotate de la stânga la dreapta începând cu poziția .
Cerință
Scrieți un program care să determine răspunsul pentru întrebări de următoarele tipuri:
- Care este cea mai din stânga poziție care conține o valoare strict mai mare decât toate cele din dreapta sa? – întrebare de tipul
- Care sunt pozițiile care conțin valori strict mai mari decât toate cele din stânga lor? – întrebare de tipul
- Dacă fiecărui element aflat între prima și ultima apariție a maximului i-am mări valoarea pentru a ajunge egal cu maximul, care este suma totală a valorilor adăugate? – întrebare de tipul
Date de intrare
Fișierul de intrare sir.in
conține pe prima linie un număr (care poate fi , sau ), indicând tipul întrebării. Pe linia a doua se află un număr natural , reprezentând numărul de elemente din șir. Pe a treia linie a fișierului de intrare se află numere naturale, reprezentând elementele șirului, date de la stânga la dreapta (cel mai din stânga are poziția și cel mai din dreapta are poziția ). Numerele de pe această linie sunt separate prin câte un spațiu.
Date de ieșire
Dacă , fișierul de ieșire sir.out
trebuie să conțină un număr natural ce reprezintă răspunsul la o întrebare de tipul . Dacă , fișierul de ieșire trebuie să conțină, separați prin câte un spațiu și în ordine crescătoare, indicii determinați ca răspuns la o întrebare de tipul . Dacă , fișierul de ieșire trebuie să conțină un număr ce reprezintă răspunsul la o întrebare de tipul .
Restricții și precizări
- ;
- ;
- Numerele din șirul dat sunt cuprinse între și inclusiv.
- Pentru teste în valoare de de puncte avem .
- Pentru teste în valoare de de puncte avem .
- Pentru teste în valoare de de puncte avem .
Exemplul 1
sir.in
1
7
3 2 2 5 3 5 4
sir.out
6
Explicație
Cea mai din stânga poziție a unei valori care este mai mare decât toate cele din dreapta sa este (acolo unde se află valoarea )
Exemplul 2
sir.in
2
7
3 2 2 5 3 5 4
sir.out
1 4
Explicație
și sunt pozițiile unde se află valori mai mari decât toate cele din stânga lor.
Exemplul 3
sir.in
3
8
3 2 2 5 3 1 5 4
sir.out
6
Explicație
Maximul fiind , conform explicației de la întrebarea de tipul , trebuie mărite două elemente pentru a ajunge egale cu . Acestea sunt cel aflat pe poziția (de mărit cu ) precum și cel de pe poziția (de mărit cu ). Suma valorilor cu care avem de mărit este + = .
Exemplul 4
sir.in
3
5
3 2 7 5 3
sir.out
0
Explicație
Maximul este și apare o singură dată, deci nu se mai mărește nicio valoare.