1. 程式人生 > >Educational Codeforces Round 52 (Rated for Div. 2) B. Vasya and Isolated Vertices

Educational Codeforces Round 52 (Rated for Div. 2) B. Vasya and Isolated Vertices

題解

題目大意 給你n個點使用m條邊組成一個圖 問你最多和最小能有多少個孤立節點(度為0)

最少的點個數就是每個邊連兩個點m-n2和0取max
最多的點計算d
(d-1)=m*2用n-d 需要特判0

AC程式碼

#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int INF = 0x3f3f3f3f;

int main()
{
#ifdef LOCAL
	//freopen("C:/input.txt", "r", stdin);
#endif
	ll n,
m; cin >> n >> m; ll d; for (d = 0; d * (d + 1) <= m * 2; d++); cout << max(0LL, n - m * 2) << " " << n - d - 1 + (d * (d - 1) == m * 2) + (m == 0) << endl; return 0; }