Đ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.

Dễ

Đảo xâu bằng đệ quy

100 điểm 100% AC 1 đã giải

staffagent

Cho một xâu ký tự \(s\). Hãy in ra xâu đảo ngược của \(s\), tức là xâu thu được khi đọc \(s\) từ ký tự cuối về ký tự đầu. Ví dụ, đảo ngược của Nam là maN.

Bài này nhằm luyện tập viết hàm đệ quy: hãy thử cài đặt việc đảo xâu bằng đệ quy.

Input

  • Một dòng chứa xâu \(s\).

Output

  • In ra xâu đảo ngược của \(s\).

Constraints

  • \(s\) gồm chữ cái tiếng Anh, chữ số và dấu cách (không bắt đầu hay kết thúc bằng dấu cách), độ dài từ \(1\) đến \(5000\).

Sample Input 1

Codex

Sample Output 1

xedoC

Sample Input 2

Ha Noi 2024

Sample Output 2

4202 ioN aH
Dễ

Đoạn nhiều số 1

100 điểm 0% AC 0 đã giải

staffagent

Cho một dãy \(a\) gồm \(n\) phần tử, ban đầu tất cả đều bằng \(0\), và \(m\) đoạn con \([L_i, R_i]\) (đoạn gồm các phần tử \(a_{L_i}, a_{L_i+1}, \dots, a_{R_i}\)).

Một đoạn được gọi là tốt nếu trong đoạn đó số phần tử bằng \(1\) nhiều hơn hẳn số phần tử bằng \(0\). Ví dụ với \(a = [1, 0, 1, 0, 1]\), đoạn \([1, 5]\) là tốt (có \(3\) số \(1\) và \(2\) số \(0\)), còn đoạn \([3, 4]\) và đoạn \([4, 4]\) thì không.

Sau đó có \(q\) thao tác, thực hiện lần lượt theo thứ tự đã cho; thao tác thứ \(j\) cho một số \(x_j\) và gán \(a_{x_j} = 1\) (nếu đã bằng \(1\) rồi thì không thay đổi gì).

Hãy tìm số thao tác ít nhất cần thực hiện (theo đúng thứ tự, tức là xét tiền tố của dãy thao tác) sao cho có ít nhất một trong \(m\) đoạn là đoạn tốt. Nếu sau khi thực hiện cả \(q\) thao tác mà vẫn không có đoạn nào tốt, in ra \(-1\).

Input

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(m\).
  • \(m\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(L_i\), \(R_i\).
  • Dòng tiếp theo chứa số nguyên \(q\).
  • \(q\) dòng tiếp theo, mỗi dòng chứa một số nguyên \(x_j\).

Output

In ra một số nguyên là số thao tác ít nhất, hoặc \(-1\) nếu không thể.

Constraints

  • \(1 \le n, m, q \le 10^5\)
  • \(1 \le L_i \le R_i \le n\)
  • \(1 \le x_j \le n\)

Sample Input 1

6 3
1 4
3 6
2 3
5
3
5
4
1
2

Sample Output 1

3

Sample Input 2

5 2
1 5
2 4
3
1
1
5

Sample Output 2

-1

Explanation

  • Ví dụ 1: sau \(2\) thao tác (\(a_3 = a_5 = 1\)) đoạn \([3, 6]\) có \(2\) số \(1\) và \(2\) số \(0\) (chưa tốt), đoạn \([2, 3]\) có \(1\) số \(1\) và \(1\) số \(0\) (chưa tốt). Sau thao tác thứ \(3\) (\(a_4 = 1\)), đoạn \([3, 6]\) có \(3\) số \(1\) và \(1\) số \(0\) nên tốt.
  • Ví dụ 2: sau cả \(3\) thao tác chỉ có \(a_1 = a_5 = 1\); đoạn \([1, 5]\) có \(2\) số \(1\) và \(3\) số \(0\), đoạn \([2, 4]\) có \(0\) số \(1\), nên không đoạn nào tốt.
Dễ

Tình yêu và những viên đá định mệnh

100 điểm 8% AC 1 đã giải

root

Ở một vùng đất xa xôi nơi mặt trời mọc, có một chàng trai tên là Haruki. Anh sống bình lặng trong một ngôi làng nhỏ, nơi mà mùa xuân luôn thắm sắc hoa anh đào. Một ngày nọ, Haruki đem lòng yêu một thiếu nữ tên là Aika --- người con gái dịu dàng như làn sương sớm.

Để bày tỏ tình yêu của mình, Haruki quyết định rời làng và bước vào hành trình thu thập các loại đá quý kỳ diệu, rải rác trên con đường dẫn đến Đỉnh Mặt Trăng --- nơi truyền thuyết kể rằng có thể rèn nên món trang sức thiêng liêng chỉ khi hội đủ những viên đá mang tần số hoàn hảo.

Dọc theo hành trình, Haruki thu thập được một chuỗi \(N\) viên đá quý, viên thứ \(i\) thuộc loại \(a_i\). Tuy nhiên, chỉ một số tổ hợp đá nhất định mới có thể hòa hợp để tạo nên món trang sức thần kỳ. Haruki có thể đem cắt bỏ một vài viên đá ở đầu hoặc ở cuối chuỗi. Sau khi cắt, thì chuỗi đá quý của anh phải là một chuỗi đá thiêng.

Một tổ hợp đá là "thiêng" nếu tồn tại:

  • Ít nhất một loại đá xuất hiện đúng \(1\) lần,
  • Ít nhất một loại xuất hiện đúng \(2\) lần,
  • …
  • Ít nhất một loại đá xuất hiện đúng \(K\) lần.

Hãy giúp Haruki đếm xem có bao nhiêu cách lựa chọn đoạn liên tiếp trong dãy đá quý sao cho tổ hợp đá còn lại là một tổ hợp thiêng liêng, đủ để rèn món trang sức định mệnh cho Aika.

Input

Dữ liệu vào:

  • Dòng đầu tiên chứa hai số nguyên dương \(N\) \((1 \leq N \leq 10^5)\) và \(K\) \((1 \leq K \leq 4)\).
  • Dòng thứ hai chứa \(N\) số nguyên \(a_1, a_2, \dots, a_N\) \((1 \leq a_i \leq N)\) --- đại diện cho loại đá quý mà Haruki tìm thấy.

Output

In ra một số nguyên duy nhất --- số cách Haruki có thể chọn đoạn đá thoả điều kiện "thiêng".

Hai lựa chọn khác nhau nếu có ít nhất một vị trí được giữ lại trong một lựa chọn nhưng bị loại bỏ trong lựa chọn kia.

Example

Test 1

Input
6 2
5 4 5 2 6 5
Output
5

Test 2

Input
3 1
1 2 1
Output
6

Scoring

  • Subtask 1 (14 điểm): \(N \leq 1000\)
  • Subtask 2 (16 điểm): \(1 \leq a_i \leq K\) với mọi \(i\)
  • Subtask 3 (32 điểm): \(K = 1\)
  • Subtask 4 (38 điểm): Không có ràng buộc bổ sung
Dễ

Số có ba ước

1 điểm 0% AC 0 đã giải

staffagent

Minh đố Bảo: cho hai số nguyên dương \(L \le R\), hãy đếm xem trong đoạn \([L, R]\) có bao nhiêu số nguyên có đúng \(3\) ước dương.

Input

  • Một dòng gồm hai số nguyên dương \(L, R\) cách nhau một dấu cách.

Output

  • Một số nguyên duy nhất là số lượng các số thoả mãn.

Constraints

  • \(1 \le L \le R \le 10^{14}\)
  • \(60\%\) số test: \(R \le 10^4\).
  • \(20\%\) số test: \(R \le 10^{10}\).
  • \(20\%\) số test: \(R \le 10^{14}\).

Sample Input

10 100

Sample Output

2

Explanation

Các số có đúng \(3\) ước trong đoạn \([10, 100]\) là \(25\) (ước \(1, 5, 25\)) và \(49\) (ước \(1, 7, 49\)).

Xem thêm