USACO 2022 December Contest, Gold, Strongest Friendship Group
Nông dân John có \(N\) con bò \((2 \le N \le 10^5)\), được đánh số \(1 \dots N\). Có \(M\) \((1 \le M \le 2 \times 10^5)\) cặp bạn bè giữa những chú bò này.
Một nhóm bò được gọi "nhóm bạn thân" nếu như giữa hai chú bò bất kì đều có thể quen nhau thông qua một chuỗi các cặp bạn bè cùng nằm trong nhóm (tình bạn với các chú bò ngoài nhóm không có ảnh hưởng gì). "Sức mạnh" của một nhóm bạn bè là số lượng bạn bè ít nhất của chú bò bất kì nhân với số lượng bò trong nhóm (lần nữa, bạn bè ngoài nhóm không được tính nhé!!).
Tính sức mạnh lớn nhất trong tất cả các nhóm bạn thân.
Input
- Dòng đầu tiên gồm hai số \(N\) và \(M\).
- \(M\) dòng tiếp theo là \(2\) số \(u_i, v_i\) thể hiện rằng chú bò \(u_i\) là bạn với chú bò \(v_i\) \((1 \le u_i, v_i \le N, u_i \ne v_i)\). Không có cặp nào xuất hiện quá một lần.
Output
- Gồm một dòng là sức mạnh lớn nhất trong tất cả các nhóm bạn thân.
Scoring
- Subtask \(1\): \(N \le 16\).
- Subtask \(2\): \(N \le 1000\).
- Subtask \(3\): Không có ràng buộc gì thêm.
Test 1
Input
8 10
1 2
1 3
1 4
2 3
2 4
3 4
1 5
2 6
3 7
4 8
Output
12
Note
Sức mạnh lớn nhất có thể đạt được là của nhóm bò gồm \(1\), \(2\), \(3\), \(4\). Mọi chú bò đều có ít nhất \(3\) bạn trong nhóm nên đáp án là \(3 \times 4 = 12\).
Phần tử lớn nhất Stack
Bạn có một Ngăn xếp (Stack) rỗng và hiện có \(N\) truy vấn. \(N\) truy vấn này có 3 loại:
- Loại \(1\) ở dạng
1 x
, đẩy phần tử có giá trị \(x\) vào Stack. - Loại \(2\), xóa phần tử trên cùng của Stack.
- Loại \(3\), in ra giá trị phần tử lớn nhất có trong Stack.
Hãy lập trình đọc vào các truy vấn và thực hiện như đã mô tả.
Input:
- Dòng đầu tiên chứa một nguyên dương \(N\), là số câu truy vấn tiếp theo \((1 \leq N \leq 10^5)\)
- \(N\) dòng tiếp theo, mỗi dòng sẽ chứa:
- Nếu là truy vấn \(1\), dòng sẽ chứa
1 x
với \(x\) là giá trị phần tử cần thêm vào. \((1 \leq x \leq 10^9)\) - Nếu là truy vấn \(2\) hoặc \(3\), dòng sẽ chứa một số nguyên là \(2\) hoặc \(3\) tương ứng.
- Nếu là truy vấn \(1\), dòng sẽ chứa
Dữ liệu Input đảm bảo không có truy vấn \(2\), \(3\) khi Stack rỗng.
Output:
- Lần lượt theo thứ tự của truy vấn, với mỗi truy vấn \(3\) in ra đáp án trên một dòng.
Example
Test 1
Input
10
1 97
2
1 20
2
1 26
1 20
2
3
1 91
3
Output
26
91
Cánh Diều - DELETE - Xoá kí tự trong xâu
Viết chương trình nhập vào một xâu \(s\), và một kí tự \(c\). Hãy tạo xâu mới bằng cách xoá các kí tự \(c\) trong xâu \(s\).
Input
-
Dòng đầu ghi xâu \(s\), độ dài không quá \(10^6\).
-
Dòng thứ hai ghi một kí tự (latin thường).
Output
- In ra một xâu sau khi xử lí.
Example
Test 1
Input
123a45a6a78
a
Output
12345678