#4653
Se consideră un număr natural format din n cifre. Inserând între cifrele numărului dat p operatori + şi q operatori - se obţine o expresie aritmetică. Un operator poate fi inserat doar între două cifre, deci înaintea primei cifre a numărului nu se poate plasa un operator.
Scrieţi un program care, pentru un număr dat, determină valoarea maximă a unei expresii aritmetice care se poate obţine inserând p operatori + şi q operatori - între cifrele numărului dat.
ONI 2024, clasa a 7-a
| Problema | expresie11 | Operații I/O |
expresie.in/expresie.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #62945570 | Utilizator | |
| Fișier | expresie11.cpp | Dimensiune | 1.93 KB |
| Data încărcării | 07 Februarie 2026, 20:33 | Scor/rezultat | Eroare de compilare |
expresie11.cpp:5:7: error: 'boost' has not been declared using boost::multiprecision::cpp_int; ^ expresie11.cpp:7:7: error: 'cpp_int' does not name a type const cpp_int NEG_INF = -(cpp_int(1) << 2000); ^ expresie11.cpp: In function 'int main()': expresie11.cpp:21:12: error: 'cpp_int' does not name a type static cpp_int dp[1001][51][51]; ^ expresie11.cpp:27:17: error: 'dp' was not declared in this scope dp[i][j][k] = NEG_INF; ^ expresie11.cpp:27:31: error: 'NEG_INF' was not declared in this scope dp[i][j][k] = NEG_INF; ^ expresie11.cpp:29:5: error: 'dp' was not declared in this scope dp[0][0][0] = 0; ^ expresie11.cpp:35:36: error: 'NEG_INF' was not declared in this scope if (dp[i][j][k] == NEG_INF) continue; ^ expresie11.cpp:37:17: error: 'cpp_int' was not declared in this scope cpp_int val = 0; ^ expresie11.cpp:37:25: error: expected ';' before 'val' cpp_int val = 0; ^ expresie11.cpp:41:21: error: 'val' was not declared in this scope val = val * 10 + (s[i + len - 1] - '0'); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema expresie11 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.