ConcursC++17

progresie

Cerință

Să se determine un șir strict crescător, cu lungimea NN, format din numere naturale nenule, 1≤a1<a2<a3<⋯<aN≤⌊2⋅N⋅N⌋1 \leq a_1 \lt a_2 \lt a_3 \lt \dots \lt a_N \leq \lfloor 2 \cdot N \cdot \sqrt{N} \rfloor, cu proprietatea că oricare trei termeni distincți ai șirului nu sunt în progresie aritmetică, adică pentru oricare numere naturale ii, jj și kk cu 1≤i<j<k≤N1 \leq i \lt j \lt k \leq N, este îndeplinită condiţia: ai+ak≠2⋅aja_i + a_k \neq 2 \cdot a_j. Prin ⌊x⌋\lfloor x \rfloor s-a notat partea întreagă a lui xx.

De exemplu, pentru N=5N = 5, cel mai mare termen al șirului va trebui să fie mai mic sau egal cu ⌊2⋅5⋅5⌋\lfloor2 \cdot 5 \cdot \sqrt{5} \rfloor, adică aN≤22a_N \leq 22, deci o soluție este: 1,2,4,5,101, 2, 4, 5, 10.

Date de intrare

Fişierul de intrare progresie.in conţine pe primul rând numărul natural NN cu semnificația de mai sus.

Date de ieșire

În fişierul de ieşire progresie.out se vor scrie pe primul rând, despărțite prin câte un spațiu, cele NN elemente ale șirului aia_i, 1≤i≤N1 \leq i \leq N.

Restricții și precizări

  • 3≤N≤20 0003 \leq N \leq 20 \ 000
  • Dacă soluția nu este unică, se va accepta orice soluție corectă.

Exemplul 1

progresie.in

5

progresie.out

1 2 4 5 10

Exemplul 2

progresie.in

7

progresie.out

3 5 6 11 12 14 15

Sursă și autori

ONI 2014, clasele 9. Cheșcă Ciprian, Eugen Nodea, Ionel-Vasile Piț-Rada.

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 ↑