ConcursC++17

nxy

Se consideră NN, un număr natural nenul. Dorim să-l scriem pe NN ca sumă a două numere naturale nenule xx și yy, astfel încât suma cifrelor numerelor xx și yy să fie maximă.

Cerință

Scrieţi un program care să rezolve următoarele cerinţe:

  1. să determine suma maximă a cifrelor a două numere xx și yy cu proprietatea că x+y=Nx+y=N;
  2. să determine două numere naturale nenule xmaxxmax și ymaxymax cu proprietatea că xmax≥ymaxxmax \geq ymax, xmax+ymax=Nxmax+ymax=N, suma cifrelor lor este maximă, iar diferența xmax−ymaxxmax-ymax este maximă;
  3. să determine două numere naturale nenule xminxmin și yminymin cu proprietatea că xmin≥yminxmin \geq ymin, xmin+ymin=Nxmin+ymin=N, suma cifrelor lor este maximă, iar diferența xmin−yminxmin-ymin este minimă.

Date de intrare

Fişierul de intrare nxy.in conține pe prima linie numărul natural cc, reprezentând cerința (11, 22 sau 33). Pe a doua linie se află numărul natural NN.

Date de ieșire

Fişierul de ieșire nxy.out va conține o singură linie. Dacă c=1c=1, pe prima linie va fi scris un număr natural ss, reprezentând suma maximă a cifrelor a două numere naturale nenule xx și yy pentru care x+y=Nx+y=N.
Dacă c=2c=2 sau c=3c=3, pe prima linie vor fi scrise două numere naturale nenule separate printr-un singur spațiu, reprezentând soluţia pentru cerința respectivă (xmaxxmax și ymaxymax pentru c=2c=2, respectiv xminxmin și yminymin pentru c=3c=3).

Restricții și precizări

  • 1<N≤10181 \lt N \leq 10^{18}
  • Pentru teste valorând 20% din punctaj cerința este 1. Pentru teste valorând 40% din punctaj cerința este 2. Pentru teste valorând 40% punctaj cerința este 3.

Exemplul 1

nxy.in

1 
25

nxy.out

16

Explicație

Suma maximă care se poate obţine adunând cifrele a două numere xx și yy pentru care x+y=25x+y=25 este 1616.

Exemplul 2

nxy.in

2
25

nxy.out

19 6

Explicație

Suma maximă care se poate obține adunând cifrele a două numere xx și yy pentru care x+y=25x+y=25 este 1616. Perechea de numere xmax≥ymaxxmax \geq ymax pentru care xmax−ymaxxmax-ymax este maximă (1313) și pentru care suma cifrelor este maximă este xmax=19xmax=19 și ymax=6ymax=6.

Exemplul 3

nxy.in

3
25

nxy.out

16 9

Explicație

Suma maximă care se poate obține adunând cifrele a două numere xx și yy pentru care x+y=25x+y=25 este 1616. Perechea de numere xmin≥ymin pentru care xmin−yminxmin-ymin este minimă (77) și pentru care suma cifrelor este maximă este xmin=16xmin=16 și ymin=9ymin=9.

Sursă și autori

ONI 2018, clasele 7. Necunoscut.

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 ↑