10793. Підрахунок компонент


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Існує \(n\) міст, між якими спочатку немає доріг. Проте кожен день будуватиметься нова дорога, а загалом буде \(m\) доріг.

Компонента — це група міст, де існує маршрут між будь-якими двома містами за допомогою доріг. Після кожного дня ваше завдання — знайти кількість компонент і розмір найбільшої компоненти.

Обмеження

  • \(1≤n≤10^5\)
  • \(1≤m≤2⋅10^5\)
  • \(1≤ a,b≤n\)

Формат вхідних даних

У першому рядку є два цілі числа \(n\) і \(m\): кількість міст і доріг. Міста пронумеровані цифрами \(1,2,…,n\).

Потім є \(m\) рядків, що описують нові дороги. Кожен рядок містить два цілі числа \(a\) і \(b\): будується нова дорога між містами \(a\) і \(b\). Ви можете припустити, що кожна дорога буде побудована між двома різними містами.

Формат вихідних даних

Вивести \(m\) рядків: необхідну інформацію після кожного дня.

Приклад вхідних даних

5 3
1 2
1 3
4 5

Приклад вихідних даних

4 2
3 3
2 3

Коментарі

Ще немає коментарів.