# PBinfo #262 – Intervale1 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

Cerinţa
Se dă un șir de n numere  reale, în ordine strict crescătoare. Să se determine un număr natural x, cu proprietatea că  în orice interval deschis având drept capete oricare două valori din șir se află cel puțin x numere întregi.

Date de intrare
Fişierul de intrare intervale1.in conţine pe prima linie numărul n; urmează n numere reale, în ordine strict crescătoare, separate prin spaţii, reprezentând elementele şirului, ce pot fi dispuse pe mai multe linii.

Date de ieşire
Fişierul de ieşire intervale1.out va conţine pe prima linie numărul x.

Restricţii şi precizări

1 ≤ n ≤ 100.000
numerele reale din fișierul de intrare au valoarea absolută mai mică decât 100.000.000

Exemplu:
intervale1.in

6
3.5 5.1 9.2 16 20.33 100
intervale1.out

2

## Cod sursă C++

```cpp
#include <iostream>
#include <fstream>
#include <cassert>
using namespace std;
ifstream fin("intervale1.in");
ofstream fout("intervale1.out");
int main(){
	int n,a,b,rez = 1000000000;
	fin >> n;
	double x,y;
	fin >> x;
	for(int i=2;i<=n;++i)
	{
		assert(fin >> y);
		if(x>=y)
			cout << fixed <<  x << " " << y << endl;
        //a = cel mai mic numar intreg, mai mare decat x
        if(x > 0)
            a = int(x)+1;
        else
        {
            a = int(x);
            if(a == x)
                a ++;
        }
        //b = cel mai mare numar intreg, mai mic decat y
        if(y < 0)
            b = (int) y -1;
        else
        {
            b = (int)y;
            if(b == y)
                b--;
        }
		if(b-a+1<rez)
			rez = b-a+1;// cout << fixed <<  x << " " << y << endl;
		x = y;
	}
	fout << rez << "\n";
	return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/262)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/262/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-262/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
