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

Lớn nhất và nhỏ nhất

100 điểm 50% AC 2 đã giải

staffagent

Cho một dãy gồm \(n\) số nguyên. Hãy tìm phần tử có giá trị lớn nhất và phần tử có giá trị nhỏ nhất của dãy, rồi in ra theo đúng định dạng dưới đây.

Input

  • Dòng đầu chứa số nguyên dương \(n\).
  • Dòng thứ hai chứa \(n\) số nguyên cách nhau bởi dấu cách.

Output

  • Dòng đầu: SO LON NHAT: theo sau là giá trị lớn nhất.
  • Dòng thứ hai: SO BE NHAT: theo sau là giá trị nhỏ nhất.

Constraints

  • \(1 \le n \le 10\,000\)
  • \(|a_i| \le 10^9\)

Sample Input

6
-3 7 0 12 5 -8

Sample Output

SO LON NHAT: 12
SO BE NHAT: -8
Dễ

Số nguyên tố 2

100 điểm 78% AC 13 đã giải

root

Bạn có một số nguyên dương \(N\). Nhiệm vụ của bạn là xuất ra tất cả các số nguyên tố từ \(1\) tới \(N\).

Input

  • Gồm một dòng duy nhất chứa số nguyên \(N\) (\(N \leq 10^6)\).

Output

  • Xuất ra tất cả các số nguyên tố từ \(1\) tới \(N\) trên cùng một dòng và cách nhau một dấu cách.

Example

Test 1

Input
10
Output
2 3 5 7 
Dễ

Phép toán XOR

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

root

Cho một dãy số nguyên \(A\) gồm \(n\) phần tử. Hãy tìm giá trị lớn nhất của \(a_i \oplus a_j\) với \(1 \le i < j \le n\).

Ký hiệu \(\oplus\) là phép toán XOR giữa hai số nguyên.

Input

  • Dòng đầu tiên chứa một số nguyên \(n\) \((2 \le n \le 10^5)\) --- số phần tử của dãy.
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \dots, a_n\) \((0 \le a_i < 2^{30})\).

Output

  • In ra một số nguyên duy nhất --- giá trị lớn nhất của \(a_i \oplus a_j\).

Example

Test 1

Input
5
2 3 0 4 1
Output
7
Dễ

Nhặt vàng và liệt kê

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

staffagent

Một người thợ kim hoàn tới hầm mỏ có \(N\) viên quặng vàng. Viên quặng thứ \(i\) có giá trị \(a_i\) và chiếm thể tích \(b_i\). Chiếc balô của anh có sức chứa tổng cộng là \(M\). Mỗi viên chỉ được mang tối đa một lần.

Hãy chọn một số viên quặng sao cho tổng thể tích không vượt quá \(M\) và tổng giá trị là lớn nhất. Ngoài giá trị lớn nhất, cần in ra cả cách chọn cụ thể.

Vì có thể có nhiều cách chọn tối ưu, ta quy ước chỉ chấp nhận đúng một cách như sau: biểu diễn cách chọn bằng dãy nhị phân \(x_1 x_2 \dots x_N\) (\(x_i = 1\) nếu viên \(i\) được chọn, ngược lại \(x_i = 0\)). Trong tất cả các cách chọn cho tổng giá trị lớn nhất, hãy in cách chọn có dãy \(x_1 x_2 \dots x_N\) lớn nhất theo thứ tự từ điển (nghĩa là ưu tiên chọn viên có chỉ số nhỏ hơn).

Input

  • Dòng đầu chứa hai số nguyên \(N\) và \(M\).
  • \(N\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(a_i\) và \(b_i\): giá trị và thể tích của viên quặng thứ \(i\).

Output

  • Dòng đầu: số \(k\) là số viên quặng được chọn.
  • Dòng thứ hai: \(k\) chỉ số của các viên được chọn, theo thứ tự tăng dần, cách nhau bởi dấu cách (nếu \(k = 0\) thì in một dòng trống).

Constraints

  • \(1 \le N \le 1000\)
  • \(1 \le M \le 1000\)
  • \(0 \le a_i \le 10^5\)
  • \(0 \le b_i \le 10^5\)

Sample Input 1

5 8
6 3
5 4
9 5
4 2
0 3

Sample Output 1

2
1 3

Sample Input 2

3 5
4 2
4 2
0 1

Sample Output 2

3
1 2 3

Explanation

Ở ví dụ 1, giá trị lớn nhất là \(15\) đạt bằng viên \(\{1, 3\}\) (thể tích \(8\)); viên \(\{1,2,4\}\) có tổng thể tích \(9\) vượt quá \(M\) nên không hợp lệ. Ở ví dụ 2, giá trị lớn nhất là \(8\) bằng cách chọn hai viên đầu; thêm viên 3 (giá trị \(0\)) vẫn còn đủ chỗ (tổng thể tích \(5\)) và cho dãy nhị phân \(111\) lớn hơn \(110\) theo từ điển nên được chọn.

Xem thêm