Zoznam úloh

2. Rozoznávam sčítance

Branko pred zverejnením úloh potrebuje skontrolovať, ktorí vedúci už zadanie svojej úlohy napísali, a ktorí ešte nie. Stránka mu ale nepovie, ktoré úlohy už zadania majú a ktoré nie. Namiesto toho iba pozná súčet čísel úloh, ktoré zadanie napísané už majú. Janko mu však povedal, že všetci vedúci okrem jedného už svoje zadanie napísali. Ako ale zistí, ktorá úloha ešte zadanie nemá?

Úloha

Úlohy číslujeme od 1 po $n$. Branko vidí číslo $x$, ktoré je súčtom čísel úloh s hotovými zadaniami od 1 po $n$. V tomto súčte ale nie je započítané číslo $m$ práve jednej úlohy, ktorá ešte zadanie hotové nemá. Platí teda:

$x = (1 + 2 + \dots + (n-1) + n) - m$

kde $1 \leq m \leq n$.

Pomôžte Brankovi zistiť číslo chýbajúcej úlohy $m$.

Formát vstupu

Na vstupe je zadané jedno kladné celé číslo $x$ - súčet celých čísel od $1$ po $n$, v ktorom nie je započítané práve jedno číslo $1 \leq m \leq n$.

Formát výstupu

Na výstupe vypíšete jedno kladné celé číslo $m$, ktoré nebolo započítané do súčtu $x$.

Obmedzenia

V jednotlivých sadách platia nasledovné obmedzenia:

Sada 1 2 3 4
$1 \leq n, m \leq$ $10$ $10^5$ $6 \times 10^{7}$ $10^{8}$
$2 \leq x \leq$ $55$ $10^{10}$ $4 \times 10^{15}$ $5 \times 10^{15}$

Pozor, všimnite si, že výsledok nemôže byť 0

Pozor, pri práci s desatinnými číslami väčšími ako $10^{14}$ môžu nastať zaokrúhľovacie chyby. Preto pri celočíselnom delení používajte a//b namiesto int(a/b). Desatinné čísla v pythone sú nepresnejšie, čím väčšie číslo sa snažíme nimi uložiť. Napríklad v pythone neexistuje desatinné číslo $10^{15} + 1$, python preto použije najbližšie a to $10^{15} + 2$. Keď použijeme štandardné /, python pracuje s desatinnými číslami, preto sa tu deje takéto zaokrúhľovanie. Naopak, pri // python pracuje s celými číslami, kde si zachováva plnú presnosť. V C++ stačí použiť typ long double.

Príklady

Vstup

9

Výstup

1

9 je súčtom čísel od 1 po 4, kde 1 je chýbajúce číslo

Vstup

29

Výstup

7

36 je súčtom čísel od 1 po 8, po odčítaní 7 je to 29

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

Súťaž PRASK zastrešuje občianske združenie Trojsten.

Kontakt
Ďalšie projekty