arraymode

Time limit: 0.5s Memory limit: 64MB Input: arraymode.in Output: arraymode.out

Cerință

Se dă un șir cu NN numere naturale asupra căruia se definesc MM operații de forma:

  • 11 pospos xx - valoarea de pe poziția pospos devine xx
  • 22 pospos - se cere suma secvenței maximale care începe de la poziția pospos cu proprietatea că orice valoare apare o singură dată, adică nu există valori duplicate

Date de intrare

Fișierul arraymode.in conține pe prima linie un număr natural NN reprezentând lungimea șirului.
Pe a doua linie se află NN numere naturale care reprezintă valorile inițiale din șir.
Pe a treia linie se află un număr natural MM reprezentând numărul de operații care se realizeaza asupra șirului.
Pe următoarele MM linii sunt descrise operațiile menționate mai sus, câte o operație pe linie. Numerele de pe aceeași linie se separă prin câte un spațiu.

Date de ieșire

În fișierul arraymode.out se va scrie pentru fiecare operație de tipul 22 cate o linie cu răspunsul pentru acea operație, în ordinea în care apar în fișierul de intrare.

Restricții și precizări

  • 1N,M1051 \leq N, M \leq 10^{5}
  • Elementele șirului sunt numere naturale din intervalul [1,105][1, 10^{5}]
  • Pentru 25 de puncte 1N10001 \leq N \leq 1000
  • Pentru alte 35 de puncte, se garantează că după orice operație, toate elementele șirului sunt distincte
  • Pentru restul de 40 de puncte 1N1051 \leq N \leq 10^{5}

Exemplu

arraymode.in

6
10 20 30 40 50 60
6
2 2
1 4 20
2 2
2 3
1 5 20
2 4

arraymode.out

200
50
160
20

Explicație

Șirul inițial este: 10 20 30 40 50 6010\ 20\ 30\ 40\ 50\ 60
Pentru operația 2 22\ 2 secvența maximală de elemente distincte care începe pe poziția 22 este 10 [20 30 40 50 60]10\ [20\ 30\ 40\ 50\ 60] cu suma elementelor 200200
După operația 1 4 201\ 4\ 20, șirul devine 10 20 30 20 50 6010\ 20\ 30\ 20\ 50\ 60
Pentru operația 2 22\ 2 secvența maximală este 10 [20 30] 20 50 6010\ [20\ 30]\ 20\ 50\ 60 cu suma elementelor 5050
Pentru operația 2 32\ 3 secvența maximală este 10 20 [30 20 50 60]10\ 20\ [30\ 20\ 50\ 60] cu suma elementelor 6060
După operația 1 5 201\ 5\ 20, șirul devine 10 20 30 20 20 6010\ 20\ 30\ 20\ 20\ 60
Pentru operația 2 42\ 4, secvența maximală este 10 20 30 [20] 20 6010\ 20\ 30\ [20]\ 20\ 60 cu suma elementelor 2020

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