Xây dựng đường
Có \(n\) thành phố và ban đầu không có con đường nào giữa chúng. Tuy nhiên, mỗi ngày một con đường mới sẽ được xây dựng và sẽ có tổng cộng \(m\) con đường.
Một thành phần là một nhóm các thành phố mà trong đó có một tuyến đường giữa hai thành phố bất kỳ sử dụng các con đường đã được xây dựng. Sau mỗi ngày, nhiệm vụ của bạn là tìm ra số lượng thành phần và kích thước của thành phần lớn nhất.
Input
- Dòng đầu tiên có hai số nguyên \(n(1 \leq n \leq 10^5)\) và \(m(1 \leq m \leq 2.10^5)\). Các thành phố được đánh số từ \(1,2,...,n\).
- Sau đó, có \(m\) dòng mô tả các con đường mới. Mỗi dòng có hai số nguyên \(a\) và \(b(1 \leq a,b \leq n)\): một con đường mới sẽ được xây dựng giữa các thành phố \(a\) và \(b\).
Bạn có thể giả định rằng tất cả con đường sẽ được xây dựng giữa hai thành phố khác nhau.
Output
- In \(m\) dòng: thông tin yêu cầu sau mỗi ngày.
Sample
Input
5 3
1 2
1 3
4 5
Output
4 2
3 3
2 3
Sort
Yêu cầu
Sắp xếp lại dãy số \(A\) đã cho sao cho dãy không giảm
Giới hạn
\(N < 10^5 , |A_i| < 10^9\)
Subtask
Sub1: 25% \(N < 10^3 , |A_i| < 10^5\)
Sub2: 75% \(N < 10^5 , |A_i| < 10^9\)
Input
- Dòng 1: gồm 1 số \(N\)
- Dòng 2: gồm 1 dãy số \(A\)
Output
- 1 dòng duy nhất là kết quả bài toán
Sample 1
Input
5
2 3 5 4 1
Output
1 2 3 4 5
Ước chung
Cho dãy số nguyên dương gồm \(N\) phần tử \(a_1, a_2, … , a_N\) không vượt quá \(10^9 (N \leq 1000)\)
Yêu cầu
Tìm và đưa ra ước chung lớn nhất của dãy đã cho.
Dữ liệu vào
- Dòng đầu tiên ghi số nguyên dương \(N\)
- Dòng thứ \(2\) ghi \(N\) phần tử \(a_1, a_2, … , a_N\) , các số trên cùng một dòng cách nhau một dấu cách (khoảng trống).
Kết quả
Gồm một số là ước chung lớn nhất của dãy đã cho.
Sample
Input
4
15 20 25 30
Output
5
Hai chú thỏ
Trên đường thẳng có vô số điểm, có hai chú thỏ. Chú thỏ thứ nhất đứng ở ô \(1\) và chú thỏ thứ hai đứng ở ô \(n\). Chú thỏ thứ nhất chỉ nhảy từ ô thứ \(i\) sang ô thứ \(i+a\). Chú thỏ thứ hai chỉ nhảy từ ô thứ \(i\) sang ô thứ \(i-b\). Cho biết rằng hai chú thỏ có thể gặp nhau được hay không. Nếu có hãy in ra thời gian mà hai chú thỏ gặp nhau hoặc "NO" nếu không thể gặp nhau
Chú ý: Hai chú thỏ được xem là gặp nhau nếu cả hai chú thỏ đều đứng cùng một ô
Input
Dữ liệu nhập từ file RABBIT.INP
- Một dòng duy nhất chứa ba số nguyên dương \(n,a,b(1 \leq n,a,b \leq 10^9)\).
Output
Dữ liệu in ra file RABBIT.OUT
- Một dòng duy nhất chứa kết quả bài toán.
Ràng buộc
- \(80\%\) số test có \(n,a,b \leq 10^5\)
- \(20\%\) số test ràng buộc gốc
Sample
Input
6 2 3
Output
1
Giải thích
Giây thứ \(0\), con thỏ thứ nhất đang ở ô \(1\).
Giây thứ \(1\), con thỏ thứ nhất đang ở ô \(3\).
Giây thứ \(0\), con thỏ thứ hai đang ở ô \(6\).
Giây thứ \(1\), con thỏ thứ hai đang ở ô \(3\).