Sunteți pe pagina 1din 2

Olimpiada Societăt, ii pentru Excelent, ă s, i Performant, ă ı̂n Informatică

Etapa Nat, ională, 7 aprilie 2021


Clasa a X-a

Problema Expresii
Fis, ier de intrare: expresii.in
Fis, ier de ies, ire: expresii.out

Definim o expresie ca fiind un s, ir de caractere e care respectă una dintre următoarele:


• e = “x”;
• e reprezintă un număr natural (constantă); (ex. e ∈ {“1”, “2”, “200”, ...})
• e = “[e1 ,e2 ]” sau e = “(e1 ,e2 )”, unde e1 , e2 sunt (sub-)expresii. Aici, (·, ·) semnifică cel mai mare
divizor comun al două numere, iar [·, ·] semnifică cel mai mic multiplu comun al două numere. De
exemplu, avem că (6, 8) = 2, [6, 8] = 24.
De exemplu, “x”, “13”, “(5,2)”, “[3,[x,(14,1)]]”, “[x,x]” sunt expresii, pe când “0”, “(5,2,3)”,
“[x,2)” nu sunt expresii. Observat, i că expresiile nu cont, in niciodată spat, ii.
Pentru o expresie e dată s, i un număr natural pozitiv a, definim eval(e, a) ca fiind rezultatul evaluării
expresiei e, unde tuturor aparit, iilor lui x le vor fi asociate valoarea a. De exemplu:

eval(“([x,3],[x,2])”, 10) = ([10, 3], [10, 2]) = (30, 10) = 10

eval(“(6,14)”, 5) = (6, 14) = 2 eval(“x”, 12) = 12

Dându-se o expresie e s, i două numere naturale a, b, să se calculeze eval(e, a)+eval(e, a+1)+. . .+eval(e, b).
Rezultatul se va afis, a modulo 109 + 7.

Date de intrare
Fis, ierul de intrare expresii.in cont, ine pe prima linie o expresie e. Pe a doua linie se găsesc numerele
a, b, separate prin spat, iu.

Date de ies, ire


Fis, ierul de ies, ire expresii.out va cont, ine un număr ı̂ntreg reprezentând valoarea cerută.

Subtask-uri
În tabelul ce urmează, |e| reprezintă lungimea expresiei e (numărul de caractere), iar max(e) reprezintă
constanta de valoare maximă din e (sau 0, dacă e nu cont, ine constante).

# Punctaj Restrict, ii
1 9 1 ≤ a ≤ b ≤ 1 000
e = “(x,t)”, unde 1 ≤ t ≤ 1 000
2 10 1 ≤ a ≤ b ≤ 1 000 1 ≤ |e| ≤ 1 000 0 ≤ max(e) ≤ 1 000
Expresia e nu cont, ine “[”, “]”
3 15 1 ≤ a ≤ b ≤ 40 1 ≤ |e| ≤ 1 000 0 ≤ max(e) ≤ 40
4 17 1 ≤ a ≤ b ≤ 105 1 ≤ |e| ≤ 105 0 ≤ max(e) ≤ 105
Toate constantele din e sunt puteri de 2
5 17 1 ≤ a ≤ b ≤ 1 000 1 ≤ |e| ≤ 1 000 0 ≤ max(e) ≤ 1 000
6 10 1 ≤ a = b ≤ 100 000 1 ≤ |e| ≤ 250 000 0 ≤ max(e) ≤ 100 000
7 14 1 ≤ a ≤ b ≤ 100 000 1 ≤ |e| ≤ 250 000 0 ≤ max(e) ≤ 100 000
8 8 1 ≤ a ≤ b ≤ 250 000 1 ≤ |e| ≤ 2 000 000 0 ≤ max(e) ≤ 250 000

1
Olimpiada Societăt, ii pentru Excelent, ă s, i Performant, ă ı̂n Informatică
Etapa Nat, ională, 7 aprilie 2021
Clasa a X-a

Exemple
expresii.in expresii.out
(x,6) 2
4 4
[x,6] 66
1 6
(12,(x,(8,6))) 6
3 6
([x,3],[x,2]) 10
10 10
[([(x,5),2],[12,5]),(x,16)] 36
28 33

Explicat, ii
Pentru primul exemplu, (4, 6) = 2.
Pentru al doilea exemplu, [1, 6] + [2, 6] + [3, 6] + [4, 6] + [5, 6] + [6, 6] = 6 + 6 + 6 + 12 + 30 + 6 = 66.
Pentru ultimul exemplu, răspunsurile pentru fiecare valoare din interval sunt 4, 2, 10, 2, 16, 2 (ı̂n această
ordine).
Atent, ie! Exemplele 2, 3, 4 s, i 5 nu respectă constrângerile subtask-ului 1. Exemplele 2, 4 s, i 5 nu respectă
constrângerile subtask-ului 2. Exemplele 2, 3 s, i 5 nu respectă constrângerile subtask-ului 6.

S-ar putea să vă placă și