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.
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.
Odovzdávanie
Na odovzdávanie sa musíš prihlásiť
Otázky a diskusia
Po skončení kola budete mať príležitosť na diskutovanie o riešeniach v diskusii pod vzorovým riešením.