Există căsuțe (pătrățele), așezate în ordine, de la stânga la dreapta, numerotate de la la .
În interiorul fiecărei căsuțe putem scrie câte un număr natural. Inițial, în fiecare căsuță scriem același număr .
Executăm, în ordine, operații, care pot fi de trei tipuri:
- Primul tip de operație se codifică prin
1 st dr nr
și înseamnă că în fiecare căsuță cu indicii între inclusiv și exclusiv ștergem numerele care existau înainte și scriem în locul lor același număr . - Al doilea tip de operație se codifică prin
2 poz
și rezultatul operației este numărul aflat în căsuța cu indicele . - Al treilea tip de operație se codifică prin
3 st dr
și rezultatul operației este numărul de apariții al valorii celei mai mari din căsuțele cu indicii între inclusiv și exclusiv.
Cerință
Determinați rezultatele tuturor operațiilor de tip sau , în ordinea executării acestora.
Date de intrare
Fișierul de intrare casute.in
conține pe prima linie două numere naturale și separate printr-un spațiu, cu semnificația din enunț. Pe fiecare dintre următoarele linii se află codificările celor operații.
Fiecare linie care codifică o operație începe cu un număr natural, reprezentând tipul operației, care poate fi , sau și este urmat de un spațiu.
- Dacă tipul operației este , atunci urmează trei numere naturale separate prin câte un spațiu: , și , cu semnificația din enunț.
- Dacă tipul operației este , atunci urmează un singur număr natural , cu semnificația din enunț.
- Dacă tipul operației este , atunci urmează două numere naturale separate printr-un spațiu și , cu semnificația din enunț.
Date de ieșire
Fișierul de ieșire casute.out
conține, pentru fiecare operație de tip sau , în ordinea în care acestea se regăsesc în fișierul de intrare, pe linii separate, câte un număr natural reprezentând rezultatul operației corespunzătoare.
Restricții și precizări
- ;
- ;
- pentru orice operație de tipul și ;
- pentru orice operație de tipul ;
- pentru orice operație de tipul ;
- în tabelul de mai jos, notăm dacă există numai operații de tipul și , sau dacă există operații de toate tipurile (1, 2 și 3);
- în tabelul de mai jos, notăm dacă oricare dintre valorile , și apar într-o singură operație, sau dacă se pot și repeta.
# | Scor | Restricții |
---|---|---|
1 | 25 | , , |
2 | 25 | , , |
3 | 25 | , , |
4 | 15 | , , |
5 | 10 | , , |
Exemplu
casute.in
9 12
1 3 7 4
1 2 4 5
1 6 10 3
2 1
2 2
2 3
2 9
3 1 10
3 5 8
3 1 2
1 1 4 1
2 1
casute.out
0
5
5
3
2
1
1
1
Explicație
Sunt căsuțe. Inițial numerele din cele 9 căsuțe sunt:
(scriem pe toate pozițiile)
După prima operație: , numerele devin:
(scriem pe pozițiile , , și )
După a doua operație: , numerele devin:
(scriem pe pozițiile și )
După a treia operație: , numerele devin:
(scriem pe pozițiile , , și )
Rezultatul pentru a patra operație: este .
Rezultatul pentru a cincea operație: este .
Rezultatul pentru a șasea operație: este .
Rezultatul pentru a șaptea operație: este .
Rezultatul pentru a opta operație: este , deoarece maximul din toate căsuțele este iar acesta apare de două ori.
Rezultatul pentru a noua operație: este , deoarece maximul din căsuțele cu valorile: este iar acesta apare o dată.
Rezultatul pentru a zecea operație: este , deoarece maximul din căsuțele cu valorile: este iar acesta apare o dată.
După a unsprezecea operație: , numerele devin:
(scriem 1 pe pozițiile , și )
Rezultatul pentru a doisprezecea operație: este .