ConcursC++17

expresie

Se consideră un număr natural format din nn cifre. Inserând între cifrele numărului dat pp operatori + şi qq 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.

Cerință

Scrieţi un program care, pentru un număr dat, determină valoarea maximă a unei expresii aritmetice care se poate obţine inserând pp operatori + şi qq operatori − între cifrele numărului dat.

Date de intrare

Fişierul de intrare expresie.in conţine pe prima linie numerele naturale n p qn \ p \ q separate prin câte un spaţiu, cu semnificația din enunț. Pe cea de-a doua linie se află un număr format din nn cifre.

Date de ieșire

Fişierul de ieşire expresie.out va conţine o singură linie, pe care va fi scrisă valoarea maximă a unei expresii aritmetice care se poate obţine prin inserarea a pp operatori + şi a qq operatori – între cifrele numărului dat.

Restricții și precizări

  • 2≤n≤1 0002 \leq n \leq 1 \ 000
  • 0<p+q<n0 < p + q < n
  • Numărul citit nu începe cu 00.
#PunctajRestrictii
16n≤18n \leq 18 şi p+q=1p + q = 1
29n>18n > 18 şi p+q=1p + q = 1
325Rezultatul are cel mult 1818 cifre și p+q>1p + q > 1
460Nu există restricții suplimentare

Exemplu

expresie.in

5 1 2
54321

expresie.out

54

Explicație

54+3−2−1=5454 + 3 − 2 − 1 = 54

Sursă și autori

ONI 2024, clasele 7. Nistor Moț.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑