sir

Time limit: 0.1s Memory limit: 64MB Input: sir.in Output: sir.out

Se dă un șir format din NN numere naturale nenule. Elementele șirului sunt numerotate de la stânga la dreapta începând cu poziția 11.

Cerință

Scrieți un program care să determine răspunsul pentru întrebări de următoarele tipuri:

  1. 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 11
  2. Care sunt pozițiile care conțin valori strict mai mari decât toate cele din stânga lor? – întrebare de tipul 22
  3. 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 33

Date de intrare

Fișierul de intrare sir.in conține pe prima linie un număr CC (care poate fi 11, 22 sau 33), indicând tipul întrebării. Pe linia a doua se află un număr natural NN, reprezentând numărul de elemente din șir. Pe a treia linie a fișierului de intrare se află NN numere naturale, reprezentând elementele șirului, date de la stânga la dreapta (cel mai din stânga are poziția 11 și cel mai din dreapta are poziția NN). Numerele de pe această linie sunt separate prin câte un spațiu.

Date de ieșire

Dacă C=1C = 1, fișierul de ieșire sir.out trebuie să conțină un număr natural ce reprezintă răspunsul la o întrebare de tipul 11. Dacă C=2C = 2, 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 22. Dacă C=3C = 3, fișierul de ieșire trebuie să conțină un număr ce reprezintă răspunsul la o întrebare de tipul 33.

Restricții și precizări

  • 1C31 \leq C \leq 3;
  • 1N100 0001 \leq N \leq 100 \ 000;
  • Numerele din șirul dat sunt cuprinse între 11 și 10 00010 \ 000 inclusiv.
  • Pentru teste în valoare de 2424 de puncte avem C=1C = 1.
  • Pentru teste în valoare de 3232 de puncte avem C=2C = 2.
  • Pentru teste în valoare de 4444 de puncte avem C=3C = 3.

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 66 (acolo unde se află valoarea 55)

Exemplul 2

sir.in

2
7
3 2 2 5 3 5 4

sir.out

1 4

Explicație

11 și 44 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 55, conform explicației de la întrebarea de tipul 33, trebuie mărite două elemente pentru a ajunge egale cu 55. Acestea sunt cel aflat pe poziția 55 (de mărit cu 22) precum și cel de pe poziția 66 (de mărit cu 44). Suma valorilor cu care avem de mărit este 22 + 44 = 66.

Exemplul 4

sir.in

3
5
3 2 7 5 3

sir.out

0

Explicație

Maximul este 77 și apare o singură dată, deci nu se mai mărește nicio valoare.

Log in or sign up to be able to send submissions!