Sari la conținut
Zece la Info
Probleme

Bacalaureat Vara 2022, S3.3 - Numarul valorilor distincte dintr-un interval

Grea 2000 ms 64 MB#bacalaureat#2022#vara#subiectul3

Fisierul bac.txt contine numere naturale din intervalul [1,10^9], astfel: pe prima linie doua numere, x si y (x<y), iar pe a doua linie un sir de cel mult 10^6 numere, ordonate crescator. Numerele aflate pe aceeasi linie a fisierului sunt separate prin cate un spatiu.

Se cere sa se afiseze pe ecran numarul de valori distincte din sirul aflat pe a doua linie a fisierului care apartin intervalului [x,y]. Proiectati un algoritm eficient din punctul de vedere al timpului de executare si al memoriei utilizate.

Exemplu: daca fisierul are continutul 2 9 1 1 1 2 2 3 5 5 5 5 6 6 7 8 10 10 12 15 21 21 pe ecran se afiseaza 6.

Date de intrare
Fisierul bac.txt: pe prima linie x si y, pe a doua linie sirul crescator.
Date de iesire
Se afiseaza numarul de valori distincte din sir, aflate in intervalul [x,y].
Restrictii
1 <= x < y <= 10^9, cel mult 10^6 termeni in sir, ordonati crescator

Exemple

Exemplul 1

Intrare

2 9
1 1 1 2 2 3 5 5 5 5 6 6 7 8 10 10 12 15 21 21

Iesire

6

Exemplul 2

Intrare

1 1000000000
5

Iesire

1

Vrei să rezolvi problema?

Creează-ți un cont gratuit ca să scrii cod în editor, să trimiți soluții la evaluator și să vezi indicațiile.