Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | parantezare.in, parantezare.out | Sursă | FMI No Stress 2012 |
Autor | Flaviu Pepelea | Adăugată de | |
Timp execuţie pe test | 0.01 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Parantezare
Se dă un şir de caractère ce reprezintă o expresie aritmetică. Scrieţi un program care răspune la M întrebări de tipul: "Pe ce poziţie se află paranteza ')' corespunzătoare parantezei '(' aflate pe poziţia a i-a în şirul de caractere considerat?"
Date de intrare
Fişierul de intrare parantezare.in va conţine pe prima linie un şir de caractere compus din cifre( '0' - '9' ), operatorii '+', '-', '*', '/' si paranteze( '(', ')' ), iar pe a doua linie numărul M de întrebări. Ultima linie a fişierului de intrare va conţine M numere naturale reprezentând valorile i care definesc întrebările puse anterior.
Date de ieşire
În fişierul de ieşire parantezare.out se vor afişa M valori despărţite printr-un spaţiu. Astfel, valoarea a i-a din fişierul de ieşire va reprezenta răspunsul pentru întrebarea i.
Restricţii
- 1 ≤ lungimea sirului ≤ 100 000
- 1 ≤ M ≤ 100 000
Exemplu
parantezare.in | parantezare.out |
---|---|
(1+1*(2+3)) 2 0 5 | 10 9 |