Fișierul intrare/ieșire | coada.in, coada.out | Sursă | Test IQ Academy 2024 clasa a 7-a |
---|---|---|---|
Autor | Cristian Frâncu | Adăugată de | Cristian Frâncu • francu |
Timp de execuție pe test | 0.7 sec | Limită de memorie | 1024 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Coada (clasa a 7-a)
La coadă se așază persoane ce primesc numere de ordine din 1 în 1 începând cu 1. Coada durează atât de mult încât unele persoane leșină. După o vreme își pot reveni din leșin. O persoană leșinată nu va fi servită când îi vine rândul ci va pleca din coadă.
Avem trei operații:
E |
o persoană se așază la coadă, luând următorul număr de ordine disponibil (enqueue) |
D |
prima persoană din coadă este servită (dequeue) |
L K |
persoana cu numărul de ordine K leșină; dacă era leșinată își revine! |
Cerință
Să se calculeze câte persoane au fost servite. Nu vom lua în calcul persoanele leșinate.
Date de intrare
Fișierul de intrare coada.in conține pe o linie șirul de caractere ce descriu operațiile.
Date de ieșire
În fișierul de ieșire coada.out veți afișa numărul de persoane servite.
Restricții
- 1 ≤ numărul de operații ≤ 6 000 000
- 1≤ numărul de operații tip L ≤ 2 000 000
- 1 ≤ nr. maxim persoane în coadă ≤ 16 000
- Se garantează că nu vor apărea operații D pe coada vidă
- Se garantează că operațiile tip L se vor aplica pe persoane cu numere de ordine ce există în coadă.
Exemple
coada.in | coada.out |
---|---|
EEEEL2L4DDL4DD |
3 |
EEEEEEEEL1EEL10L3DDL3L10DDL5L10DDDDDD |
7 |
Explicații
Explicație exemplul 1 | Explicație exemplul 2 | ||
---|---|---|---|
După caracterele | Coada este | După caracterele | Coada este |
EEEE L2L4 DD (servit 1) L4 DD (serviti 2) |
1 2 3 4 1 3 3 4 Coada este acum vidă |
EEEEEEEE L1EE L10L3 DD (servit 1) L3L10 DD (servit 2) L5L10 DDDDDD (servit 4) |
1 2 3 4 5 6 7 8 3 4 5 6 7 8 9 10 5 6 7 8 9 10 Coada este acum vidă |