Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập

Bài được chọn theo nhịp luyện tập của bạn, cùng mọi bài mới vừa lên.

root

Kiểm tra tồn tại

100 điểm

Viết chương trình nhập từ bàn phím một dãy \(a\) gồm \(n\) số nguyên \(a_1, a_2, a_3, \dots, a_n\) và một số nguyên \(X\). Hãy kiểm tra xem số \(X\) có tồn tại trong mảng hay không.

Input

  • Dòng đầu tiên là số nguyên dương \(n\) - độ dài của dãy \(a\). \((1 \leq n \leq 100)\).
  • Dòng thứ hai là \(n\) số nguyên \(a_1, a_2, a_3, \dots, a_n\) - mỗi số cách nhau một dấu cách \((|a_i| \leq 100)\).
  • Dòng thứ ba là số nguyên \(X\) cần tìm.

Output

In ra "YES" nếu \(X\) có trong mảng, ngược lại in ra "NO".

Example

Test 1

Input
5
1 2 3 4 5
2
Output
YES

Test 2

Input
5
1 2 3 4 5
6
Output
NO

staffagent

Nén và giải nén xâu

100 điểm

Một phần mềm lưu trữ dùng phương pháp mã hoá độ dài chạy để rút gọn văn bản: mỗi đoạn gồm các ký tự giống hệt nhau đứng liền kề được thay bằng số lần lặp viết liền trước ký tự đó. Số lần lặp luôn được viết ra, kể cả khi bằng \(1\). Ví dụ aaabbbbc được nén thành 3a4b1c.

Bạn cần cài đặt cả hai chiều: nén một xâu và giải nén một xâu đã nén.

Input

  • Dòng 1: xâu \(S\) cần nén, chỉ gồm các chữ cái Latinh (hoa và thường phân biệt nhau).
  • Dòng 2: xâu \(T\) đã ở dạng nén, gồm các cặp (số nguyên dương, chữ cái) viết liền nhau như trên.

Output

  • Dòng 1: dạng nén của \(S\) (mỗi đoạn ký tự giống nhau tối đa liên tiếp được thay bằng số lần + ký tự).
  • Dòng 2: xâu thu được sau khi giải nén \(T\).

Constraints

  • \(1 \le |S|, |T| \le 10^6\).
  • Xâu sau khi giải nén \(T\) có độ dài không quá \(10^6\).

Sample Input

wwwwkkkTT
3k1Z2m

Sample Output

4w3k2T
kkkZmm

Explanation

wwww kkk TT lần lượt thành 4w, 3k, 2T. Ở chiều ngược lại 3k là kkk, 1Z là Z, 2m là mm.

root

Chặt nhị phân 11

100 điểm

Một xưởng có \(n\) máy có thể được sử dụng để làm sản phẩm. Mục tiêu của bạn là tạo ra tổng cộng \(t\) sản phẩm.

Đối với mỗi máy, bạn biết số giây cần thiết để tạo ra một sản phẩm duy nhất. Các máy có thể hoạt động đồng thời, và bạn có thể tự do quyết định lịch trình của chúng.

Thời gian cần thiết ngắn nhất để tạo ra \(t\) sản phẩm là bao nhiêu?

Input

  • Dòng đầu vào đầu tiên có hai số nguyên \(n\) và \(t\) (\(1 \le n \le 2 \times 10^5\), \(1 \le t \le 10^9\)): số lượng máy và sản phẩm.

  • Dòng tiếp theo có \(n\) số nguyên \(k_1,k_2,\ldots,k_n\) (\(1 \le k_i \le 10^9\)): thời gian cần thiết để tạo ra một sản phẩm bằng mỗi máy.

Output

  • In một số nguyên: thời gian tối thiểu cần thiết để tạo ra \(t\) sản phẩm.

Example

Test 1

Input
3 7
3 2 5
Output
8

Scoring

\begin itemize

  • Có 15% số điểm ứng với \(k_i=1\).
  • Có 15% số điểm ứng với \(t=1\).
  • 70% số điểm còn lại không có ràng buộc gì thêm.
    \end itemize

root

Gửi tiền tiết kiệm

100 điểm

Một ngày đẹp trời, Quân được mẹ đưa cho \(x\) đồng làm tiền tiêu vặt. Tuy nhiên, Quân vì muốn tiết kiệm nên đã cầm \(x\) đồng mẹ đưa đem đi gửi ngân hàng với lãi suất \(5\%\) một năm, nghĩa là sau một năm, Quân sẽ nhận được \(5\%\) của số tiền gửi ban đầu. Nếu Quân không rút tiền sau một năm, cả vốn lẫn lãi sẽ được gộp lại và gửi tiết kiệm cho năm tiếp theo. Quân dự định sẽ gửi tiền với thời hạn là \(20\) năm. Bạn là một lập trình viên tương lai, hãy lập trình in ra tổng số tiền Quân có theo từng năm nhé !

Input

Một số nguyên dương \(x\) \((x \leq 10^6)\) - số tiền Quân định gửi.

Output

In ra \(20\) dòng, mỗi dòng là số tiền Quân đang có sau từng năm, in ra dưới dạng làm tròn \(6\) chữ số thập phân.

Example

Test 1

Input
10
Output
10.500000
11.025000
11.576250
12.155062
12.762816
13.400956
14.071004
14.774554
15.513282
16.288946
17.103394
17.958563
18.856491
19.799316
20.789282
21.828746
22.920183
24.066192
25.269502
26.532977
Xem thêm