Táto úloha je programátorská. Ako svoje riešenie odovzdaj program vo svojom obľúbenom jazyku a automaticky sa dozvieš koľko si dostal/a bodov. Ak si takýto typ úloh ešte nikdy neriešil/a skús sa pozrieť ako by mal vyzerať ideálny program. Ak zatiaľ programovať nevieš, ale chcel/a by si vedieť môžeš skúsiť náš python tutoriál.
Ak máte akékoľvek otázky ohľadom tejto úlohy, napíšte Hanke na [email protected]
Nie až tak dávno sa konalo prvé sústredenie PRASKu. Spoznalo sa tam veľa účastníkov, nových či starých a veľa z nich sa aj skamarátilo. Klaudia sa na konci sústredka rozprávala so všetkými účastníkmi a každého sa spýtala, koľko má na sústredku nových kamarátov. Všetci jej túto informáciu ochotne prezradili. Pri niektorých odpovediach sa Klaudia začudovala - veď toľko kamarátov si nikto nemohol stihnúť za jedno sústredko spraviť!
Úloha
Každý účastník Klaudii povedal, koľko nových kamarátov spoznal na sústredku. Ak je toto číslo ale väčšie než \(k\), klamal jej a s nikým sa neskamarátil (teda má \(0\) nových kamarátov). Tvojou úlohou je zistiť, koľko nových kamarátstiev vzniklo, ak sa každé kamarátstvo skladá z práve dvoch účastníkov.
Formát vstupu
Na prvom riadku dostanete dve medzerou oddelené čísla \(n\), \(k\), označujúce počet účastníkov a maximálny počet kamarátov, koľkých mohol jeden účastník spoznať. Platí \(2 \leq n \leq 10^7\) a \(0 \leq k < n\).
Na druhom riadku je \(n\) čísel \(a_1, a_2, ... , a_n\) - \(a_i\) je počet nových kamarátov \(i\)-teho účastníka. Pre každé \(i\) platí, že \(0 \leq a_i < n\).
Formát výstupu
Na výstup vypíšte jedno číslo - počet vzniknutých kamarátstiev.
Pozor, toto číslo môže byť veľmi veľké - na jeho uloženie nestačí
obyčajná (32-bitová) premenná. Namiesto toho musíš použiť 64-bitovú
premennú. Ak programuješ v Pythone
, toto nemusíš riešiť.
Napríklad v C++
ale musíš použiť long long
namiesto int
.
Hodnotenie
Sú štyri sady vstupov, každá za 25 bodov. V prvej a druhej platí, že \(n \leq 10^4\). Zvyšné dve sady nemajú žiadne obmedzenia navyše.
Príklad
Input:
5 3
1 2 4 1 0
Output:
2
Druhý účastník sa skamarátil s prvým a štvrtým, tretí a piaty sa s nikým neskamarátili.
Input:
8 4
4 2 3 6 3 0 2 5
Output:
7
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.