Cerința
Se dau două numere n și m. Aflați care este numărul minim și numărul maxim de noduri izolate într-un graf neorientat cu n noduri și m muchii în care nu există un muchie de la un nod la el însuși și între oricare două noduri diferite există cel mult o muchie.
Date de intrare
Programul citește de la tastatură numerele n m.
Date de ieșire
Programul va afișa pe ecran numerele a și b, reprezentând numărul minim, respectiv numărul maxim de noduri izolate într-un graf neorientat cu n noduri și m muchii în care nu există un muchie de la un nod la el însuși și între oricare două noduri diferite există cel mult o muchie.
Restricții și precizări
1 ≤ n ≤ 100.000- 0≤m≤n∗(n−1)2
Exemplu
Intrare
4 2
Ieșire
0 1
Explicație
Se poate construi un graf fără noduri izolate, cu muchiile (1,2) și (3,4). Pentru a obține un nod izolat, putem construi un graf cu muchiile (1,2) și (1,3).
#include <bits/stdc++.h>
using namespace std;
long long n , m , k;
int main()
{
cin >> n >> m;
if(m * 2 >= n) cout << 0 << " ";
else cout << n - 2 * m << " ";
while(k * (k - 1) / 2 < m) k++;
cout << n - k;
}