Chẵn lẻ ngược chiều
Cho một dãy số nguyên. Viết chương trình thực hiện sắp xếp dãy số theo các quy tắc như sau:
- Với mỗi vị trí, nếu ban đầu là số chẵn thì giá trị sau khi sắp xếp vẫn là số chẵn; nếu ban đầu là số lẻ thì giá trị sau khi sắp xếp vẫn là số lẻ.
- Tính từ trái qua phải: Các số chẵn được sắp xếp theo thứ tự không tăng; Các số lẻ được sắp xếp theo thứ tự không giảm.
Input Specification
- Dòng thứ nhất chứa số nguyên dương \(n\);
- Dòng thứ hai chứa dãy \(n\) số nguyên, hai số liên tiếp ngăn cách nhau bởi một dấu khoảng trắng.
Output Specification
In ra kết quả trên một dòng.
Constraints
- \(n \leq 10^4\)
- Các số trong dãy có giá trị tuyệt đối không vượt quá \(10^6\)
Input Sample
8
1 5 2 8 4 3 5 6
Output Sample
1 3 8 6 4 5 5 2
Explanation for Sample Output
Trong dãy ban đầu, nhóm các số lẻ là: (1; 5; 3; 5), sắp xếp thành (1; 3; 5; 5).
Trong dãy ban đầu, nhóm các số chẵn là: (2; 8; 4; 6), sắp xếp thành (8; 6; 4; 2).
Trộn theo quy tắc các nhóm chẵn/lẻ, ta thu được kết quả sắp xếp là 1 3 8 6 4 5 5 2.
Dãy con có tổng bé nhất
Cho dãy \(n\) số nguyên \(a_1\), \(a_2\), \(a_3\), ..., \(a_n\). Mỗi nhóm các số hạng liên tiếp của dãy được gọi là một dãy con.
Viết chương trình xác định giá trị tổng nhỏ nhất của một dãy con bất kì.
Input Specification
Gồm hai dòng:
- Dòng đầu tiên chứa số nguyên dương \(n\);
- Dòng thứ hai chứa dãy \(n\) số nguyên.
Output Specification
In ra kết quả trên một dòng duy nhất.
Constraints
- \(n \leq 10^6\)
- \(|a_i| \leq 10^6\)
Input Sample
5
1 -2 -3 4 5
Output Sample
-5
Độ sâu lớn nhất trong dãy ngoặc
Cho một chuỗi ngoặc hợp lệ chỉ gồm ba loại ngoặc: tròn (), vuông [], và nhọn {}.
Giá trị độ sâu lồng nhau tại một vị trí được định nghĩa là số lượng ngoặc mở chưa được đóng khi xét từ đầu chuỗi đến vị trí đó. Với trường hợp chuỗi rỗng, ta quy ước độ sâu bằng 0.
Cho trước một chuỗi ngoặc hợp lệ. Hãy viết chương trình xác định giá trị độ sâu lớn nhất trong chuỗi ngoặc đó.
Input Specification
Gồm một chuỗi ngoặc hợp lệ trên một dòng duy nhất.
Output Specification
In ra kết quả trên một dòng duy nhất.
Constraints
Chuỗi ngoặc có độ dài không quá \(10^5\) kí tự.
Input Sample
()(())[]{[()]}
Output Sample
3
Binary to Decimal
Viết chương trình tính giá trị trong hệ thập phân của một dãy nhị phân cho trước.
Input Specification
Gồm một dãy nhị phân được ghi trên một dòng duy nhất.
Output Specification
In ra kết quả trên một dòng.
Constraints
Dãy nhị phân có độ dài không quá 30.
Input Sample
10101010
Output Sample
170
Explanation for Sample Output
(10101010)₂ = (1 × 2⁷) + (0 × 2⁶) + (1 × 2⁵) + (0 × 2⁴) + (1 × 2³) + (0 × 2²) + (1 × 2¹) + (0 × 2⁰) = (170)₁₀