ksir

Time limit: 0.05s Memory limit: 2MB Input: ksir.in Output: ksir.outPoints by default: 10p

Se dă următorul şir de numere:
11; 1 2 21 \ 2 \ 2; 1 2 3 3 31 \ 2 \ 3 \ 3 \ 3; 1 2 3 4 4 4 41 \ 2 \ 3 \ 4 \ 4 \ 4 \ 4; 1 2 3 4 5 5 5 5 51 \ 2 \ 3 \ 4 \ 5 \ 5 \ 5 \ 5 \ 5; \dots

În şir avem grupe formate după următoarea regulă: grupa gg conţine numerele naturale de la 11 la gg în ordine crescătoare, urmate de g1g-1 valori egale cu g(g=1,2,)g (g=1, 2, \dots).

Cerinţă

Scrieţi un program care citeşte o valoare kk şi afişează al kk-lea termen al şirului de mai sus.

Date de intrare

Fişierul de intrare ksir.in conţine pe prima linie numărul natural kk.

Date de ieşire

Fişierul de ieşire ksir.out va conţine o singură linie pe care va fi scris un număr natural ce reprezintă al kk-lea element din şir.

Restricţii şi precizări

  • 1k20 000 000 0001 \leq k \leq 20 \ 000 \ 000 \ 000
  • Poziţiile termenilor din şir sunt numerotate începând cu 11.
  • Pentru teste valorând 1010 puncte 1k20 000 0001 \leq k \leq 20 \ 000 \ 000
  • Pentru teste valorând 4040 de puncte 20 000 000<k2 000 000 00020 \ 000 \ 000 < k \leq 2 \ 000 \ 000 \ 000
  • Pentru teste valorând 4040 de puncte 2 000 000 000<k20 000 000 0002 \ 000 \ 000 \ 000 < k \leq 20 \ 000 \ 000 \ 000
  • 1010 puncte se acordă din oficiu.

Exemplu

ksir.in

8

ksir.out

3

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