Ksum

Time limit: 1s Memory limit: 256MB Input: ksum.in Output: ksum.out

Cerință

Se dau două numere nn și kk. Aflați orice șir de kk numere naturale x1,x2,,xkx_1,x_2,\ldots,x_k care respectă următoarele condiții:

  • x1<x2<<xkx_1 < x_2 < \ldots < x_k;
  • x1+x2++xk=nx_1+x_2+\ldots+x_k=n.
  • Dintre toate șirurile care respectă condițiile anterioare, xkx1x_k-x_1 este minim.

Date de intrare

Pe prima linie a fișierului de intrare ksum.in se vor afla două numere naturale nn și kk.

Date de ieșire

Fișierul de ieșire ksum.out va conține kk numere naturale x1,x2,,xkx_1,x_2,\ldots,x_k care respectă condițiile din enunț.

Restricții și precizări

  • 1n10181 \le n \le 10^{18};
  • 1k1061 \le k \le 10^6, k(k+1)2n\frac{k \cdot (k+1)}{2} \le n;
  • Pentru 1010 puncte, k2k \le 2;
  • Pentru încă 3030 de puncte, n106n \le 10^6;
  • Pentru încă 3030 de puncte, n109n \le 10^9;
  • Pentru restul de 3030 de puncte, nu se impun restricții suplimentare.

Exemplul 1

ksum.in

37 5

ksum.out

5 6 7 9 10

Explicație

37=5+6+7+9+1037=5+6+7+9+10, iar 105=510-5=5 este cea mai mică valoare posibilă a lui x5x1x_5-x_1.

Exemplul 2

ksum.in

1000000000 1

ksum.out

1000000000

Explicație

109=10910^9=10^9

Exemplul 3

ksum.in

14 4

ksum.out

2 3 4 5

Explicație

14=2+3+4+514=2+3+4+5

Log in or sign up to be able to send submissions!