Zoznam úloh

4. Pyramídy

Kolo už skončilo. Môžeš si pozrieť vzorové riešenie.

Táto úloha sa dá nahradiť riešením sady variables_cpp na Liahni (betaliahen.ksp.sk) . Ak chceš, aby ti namiesto bodov za riešenie tejto úlohy boli započítané body získané riešením spomínanej sady, na stránke odovdzaj pdf-ko s prezývkou, ktorú používaš na Liahni.

*Ak máte akékoľvek otázky ohľadom tejto úlohy, napíšte Baške na *

Malý Miško dostal na narodeniny úplne novú sadu drevených kociek. Jeho obľúbenou stavbou je pyramída1. Na obrázku nižšie si môžete pozrieť ako vyzerá pyramída s piatimi a so štyrmi poschodiami.

![](obrazky/pyramidy.png)

Spodný riadok $k$-poschodovej pyramídy sa skladá z $k$ kociek. Každé ďalšie poschodie má o jednu kocku menej ako to pod ním. Takže počet kociek v pyramíde vieme vypočítať ako súčet čísel od 1 (najvrchnejšie poschodie) po $k$ (najspodnejšie poschodie).

V matematickej knižke svojho otca dokonca Miško zistil, že tento súčet sa dá vyrátať aj pomocou jednoduchého vzorca:

$$1 + 2 + \ldots + k = \frac{k\cdot(k+1)}{2}$$

Aby urobil rodičom radosť, chcel by Miško postaviť jednu pyramídu pre maminku a jednu pre otecka. Zaujíma ho preto, či vie postaviť práve dve pyramídy a pritom použiť všetky kocky, ktoré má.

A keďže ho rodičia ešte nenaučili programovať2, poprosil o pomoc vás.

Úloha

Na vstupe je číslo $n$ – počet Miškových kociek.

Zistite, či vie postaviť dve (nie nutne rovnako vysoké) pyramídy, ktoré dokopy obsahujú práve $n$ kociek. Samozrejme, pyramída, ktorá má 0 poschodí, sa za pyramídu nepovažuje.

Vstup

Vstup obsahuje jediný riadok s kladným celým číslom $n$.

V sadách 4 a 5 bude číslo $n$ naozaj veľké a nezmestí sa vám do štandardných 32 bitových premenných. Namiesto nich môžete použiť 64 bitové premenné (long long v C++, Int64 v Pascale). Takto veľké premenné odporúčame používať aj na ukladanie medzivýsledkov a pomocných premenných. V prípade, že používate Python tento problém nenastane, pretože premenné v Pythone môžu byť ľubovoľne veľké.

Výstup

Ak sa zo všetkých Miškových kociek dajú postaviť dve pyramídy, vypíšte slovo "ANO". V opačnom prípade vypíšte slovo "NIE".

Odpoveď vypisujte bez úvodzoviek okolo slov, všetko veľkými písmenami a nezabudnite vypísať koniec riadku!

Hodnotenie

Váš program bude spustený na piatich sadách vstupných súborov. Body dostanete za každú úspešne vyriešenú sadu. Obmedzenia na veľkosť čísla $n$ v jednotlivých sadách nájdete v nasledujúcej tabuľke.

Číslo sady 1 2 3 4 5
maximálne $n$ $100$ $10\,000$ $1\,000\,000$ $10^{10}$ $10^{12}$

Príklady

Input:

256

Output:

ANO

Miško môže postaviť 2-poschodovú pyramídu z 3 kociek a 22-poschodovú pyramídu z $\frac{22\cdot 23}{2} = 253$ kociek.

Input:

512

Output:

NIE

Z 512 kociek sa mu nepodarí postaviť dve kompletné pyramídy.


1. Miško zastáva názor, že obyčajné veže sú príliš nestabilné a môžu sa ľahko zrútiť.[↩](#fnref1) 2. Ale už čoskoro…[↩](#fnref2)
Pre odovzdávanie sa musíš prihlásiť.