ConcursC++17

patrate

Cerință

Fiind date două numere naturale nn şi pp se cere să se găsească un număr natural m≤350 000m \leq 350 \ 000 cu proprietatea că el poate fi scris atât ca sumă de pp pătrate perfecte nenule, cât şi ca sumă de p+1p+1 pătrate perfecte nenule, ..., cât şi ca sumă de nn pătrate perfecte nenule.

Date de intrare

Prima linie a fişierului de intrare patrate.in conţine două numere naturale nn şi pp separate printr-un spaţiu, având semnificaţia de mai sus.

Date de ieșire

Prima linie a fişierului de ieşire patrate.out va conţine numărul natural mm căutat.
Urmează n−p+1n-p+1 linii. Linia ii a fişierului, pentru i=2,3,…,n−p+2i=2, 3, \ldots, n-p+2, va conţine p+i−2p+i-2 numere naturale separate prin câte un spaţiu, cu proprietatea că suma pătratelor acestora este mm.

Restricții și precizări

  • 2≤p≤n≤1 0002 \leq p \leq n \leq 1 \ 000
  • Soluţia nu este unică, se va accepta orice soluţie corectă.

Exemplu

patrate.in

4 3

patrate.out

18
1 1 4
2 1 2 3 

Explicație

18=12+12+4218 = 1^2 + 1^2 + 4^2
18=22+12+22+3218 = 2^2 + 1^2 + 2^2 + 3^2

Sursă și autori

ONI 2009, clasele 9. Cheșcă Ciprian.

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 ↑