Cerință
Se dă un șir cu numere naturale asupra căruia se definesc operații de forma:
- - valoarea de pe poziția devine
- - se cere suma secvenței maximale care începe de la poziția 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 reprezentând lungimea șirului.
Pe a doua linie se află numere naturale care reprezintă valorile inițiale din șir.
Pe a treia linie se află un număr natural reprezentând numărul de operații care se realizeaza asupra șirului.
Pe următoarele 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 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
- Elementele șirului sunt numere naturale din intervalul
- Pentru 25 de puncte
- Pentru alte 35 de puncte, se garantează că după orice operație, toate elementele șirului sunt distincte
- Pentru restul de 40 de puncte
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:
Pentru operația secvența maximală de elemente distincte care începe pe poziția este cu suma elementelor
După operația , șirul devine
Pentru operația secvența maximală este cu suma elementelor
Pentru operația secvența maximală este cu suma elementelor
După operația , șirul devine
Pentru operația , secvența maximală este cu suma elementelor