Zoznam úloh

2. Zaujímavé poháre

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

Majka obľubuje poháre, a preto si nedávno kúpila sadu $$n$$ pohárov. Samozrejme, nie sú to len také obyčajné poháre, to by bola nuda. Majkine poháre majú navzájom rôzne objemy. Tieto objemy sú celé čísla od 1 do $$n$$. (Všetky objemy sú udávané v decilitroch.)

Keď Syseľ uvidel tieto poháre, hneď sa s nimi chcel nejak zahrať. Majka preto vymyslela nasledovnú hru: Naleje do všetkých pohárov okrem jedného vodu, a potom povie Sysľovi číslo $$v$$: celkový objem vody v pohároch. Syseľ potom musí uhádnuť, ktorý pohár je prázdny.

Formát vstupu

Vstup má jeden riadok a v ňom dve celé čísla $$n$$ a $$v$$ oddelené medzerou.

Platí $$1 \leq n \leq 10^9$$ a $$1 \leq v \leq 10^{18}$$. Navyše môžete predpokladať, že všetky testovacie vstupy sú riešiteľné: $$v$$ vždy naozaj zodpovedá tomu, že všetky poháre okrem jedného sú plné.

V polovici testovacích vstupov bude dokonca platiť, že $$n\leq 1\,000$$. S takýmito vstupmi by si mali poradiť aj menej efektívne programy.

Upozornenie

Dajte si pozor na to, že váš program musí pracovať aj s hodnotami, ktoré sa nezmestia do bežnej (32-bitovej) celočíselnej premennej. Na ich uloženie potrebujete použiť premennú s dostatočne veľkým rozsahom – napríklad int64 v Pascale alebo long long v C++.

Takisto si dajte pozor, že kombinovanie 32-bitových a 64-bitových premenných nemusí dopadnúť podľa vašich očakávaní. Napríklad vynásobenie dvoch 32-bitových premenných vráti 32-bitové číslo bez ohľadu na to, či sa tam výsledok zmestí (ak nie, hodnota pretečie) a do akej premennej výsledok uložíte.

Formát výstupu

Vypíšte jediný riadok a v ňom jediné číslo $$x$$ – objem prázdneho pohára.

Nezabudnite ukončiť riadok znakom konca riadku. Teda napríklad v Pascale vypíšte výsledok volaním writeln(vysledok), v C++ zase volaním cout << vysledok << endl.

Príklad

Input:

6 18

Output:

3

Pohár s objemom 3 dl je prázdny. Plné poháre majú dokopy objem 1+2+4+5+6 = 18 dl.

Pre odovzdávanie sa musíš prihlásiť.
Trojsten

Korešpondenčný seminár z programovania zastrešuje občianske združenie Trojsten.

Kontakt
Ďalšie projekty