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

Màu thống trị trên cây

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

root

Cho một cây \(n\) nút, nút thứ \(i\) được tô một màu \(c_i\). Có \(Q\) truy vấn, mỗi truy vấn có dạng \(x, y\): Cần tìm xem trên đường đi đơn từ \(x\) đến \(y\) trên cây, màu nào là màu thống trị. Một màu được gọi là thống trị nếu số lần xuất hiện của nó lớn hơn hẳn tổng số lần xuất hiện của các màu khác (trên đường đi đang xét).

Input

  • Dòng đầu chứa hai số nguyên dương: \(n\) \(Q\).

  • Dòng thứ hai chứa \(n\) số nguyên: \(c_1\) \(c_2\) \(\ldots\) \(c_n\) (\(1 \leq c_i \leq n\)).

  • Mỗi dòng trong số \(n-1\) dòng tiếp theo ghi một cạnh của cây: \(u\) \(v\).

  • Mỗi dòng trong số \(Q\) dòng tiếp theo ghi một truy vấn: \(x\) \(y\).

Output

  • Với mỗi truy vấn, in ra trên một dòng màu tìm được. Nếu không có màu nào thống trị đường đi đó, in ra \(-1\).

Example

Test 1

Input
7 4
3 1 1 2 1 1 2
1 3
7 5
2 3
5 3
5 6
4 5
1 4
7 2
3 3
4 7
Output
-1
1
1
2

Scoring

  • Subtask #1 (\(25\%\) số điểm): \(n,Q \leq 1000\).

  • Subtask #2 (\(75\%\) số điểm): \(n,Q \leq 250000\).

Dễ

Ethan tìm kiếm bảo vật

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

root

Nhà thám hiểm Ethan đang chuẩn bị cho một cuộc hành trình đầy mạo hiểm để tìm kiếm những viên bảo vật quý hiếm. Anh ta có một bản đồ, chỉ dẫn về \(n\) hang động xếp thành một dãy, được đánh số từ \(1\) đến \(n\). Tại mỗi hang động thứ \(i\), có một viên bảo vật với giá trị \(a_i\).

Ethan đã tìm hiểu và biết rằng để lấy được bảo vật, anh phải trả đúng giá trị của nó. Nếu không đủ tiền, anh sẽ không thể lấy được và chuyến đi sẽ kết thúc. Tuy nhiên, anh ta cũng có một danh sách ưu tiên. Chỉ những bảo vật có giá trị nằm trong một khoảng nhất định mới được xem xét.

Ethan bắt đầu chuyến đi từ hang động \(l\). Anh ta sẽ đi lần lượt qua các hang động \(l, l+1, \ldots, n\). Số tiền anh ta có ban đầu là \(k\). Ethan chỉ quan tâm đến những bảo vật có giá trị nằm trong khoảng \([u, v]\), tức là \(u \le a_i \le v\).

Tại mỗi hang động \(i\) (\(i \ge l\)):

  • Nếu giá trị của bảo vật \(a_i\) không nằm trong khoảng \([u, v]\), Ethan sẽ bỏ qua và tiếp tục di chuyển đến hang động tiếp theo.
  • Ngược lại, nếu \(a_i\) nằm trong khoảng \([u, v]\), Ethan sẽ cố gắng mua nó.

  • Nếu số tiền còn lại của anh ta đủ để mua (\(a_i \le k\)), anh ta sẽ chi \(a_i\) đồng và tiếp tục hành trình.

  • Nếu số tiền không đủ (\(a_i > k\)), Ethan sẽ thất vọng và quay về ngay lập tức, không thăm các hang động còn lại.

Ethan muốn biết với mỗi bộ tham số \((l, u, v, k)\), anh ta sẽ đi qua được bao nhiêu hang động. Lưu ý, các hang động mà anh ta bỏ qua vẫn được xem là đã đi qua. Chỉ khi anh ta phải quay về vì không đủ tiền, chuyến đi mới kết thúc.

Có \(q\) giả thuyết khác nhau về các giá trị \(l, u, v, k\). Bạn hãy giúp Ethan trả lời cho mỗi giả thuyết.

Input

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(q\) (\(1 \le n, q \le 10^5\)).
  • Dòng tiếp theo chứa \(n\) số nguyên \(a_1, a_2, \ldots, a_n\) (\(1 \le a_i \le 10^9\)).
  • Trong \(q\) dòng tiếp theo, mỗi dòng chứa bốn số nguyên \(l, u, v\), và \(k\) (\(1 \le l \le n\), \(1 \le u \le v \le 10^9\), \(1 \le k \le 10^9\)).

Output

  • Với mỗi giả thuyết, in ra một số nguyên duy nhất là số lượng hang động mà Ethan đã đi qua.

Example

Test 1

Input
7 3
4 6 8 2 10 5 1
4 1 5 7
1 2 3 5
1 1 10 15
Output
3
7
2

Scoring

  • Subtask 1 (20% số điểm): Các giả thuyết có \(k\) bằng nhau và \(u=1, v=10^9\).
  • Subtask 2 (20% số điểm): \(a_i \le 500\) với mọi \(1 \le i \le n\).
  • Subtask 3 (20% số điểm): Các giả thiết có \(v - u \le 5\).
  • Subtask 4 (20% số điểm): Các giả thiết có \(u = 1\).
  • Subtask 5 (20% số điểm): Không có ràng buộc gì thêm.
Dễ

Tìm giá trị nhỏ nhất

100 điểm 56% AC 9 đã giải

root

Cho dãy số \(u_n\) được định nghĩa bởi công thức \(u_n = n^2 + 1\), với mọi số nguyên dương \(n \in \mathbb{N}^*\).

Với mỗi giá trị \(x\) cho trước, hãy tìm số nguyên dương \(n\) nhỏ nhất sao cho \(u_n \ge x\). Nói cách khác, bạn cần tìm giá trị đầu tiên của phần tử trong dãy \(u_n\) có giá trị nhỏ nhất lớn hơn hoặc bằng \(x\).

Input

Dữ liệu vào được cung cấp từ bàn phím theo định dạng sau:

  • Dòng đầu tiên chứa một số nguyên dương \(N\) (\(N \le 10^6\)).
  • Dòng thứ hai chứa một số nguyên dương \(T\) (\(T \le 10^5\)), biểu thị số lượng truy vấn.
  • \(T\) dòng tiếp theo, mỗi dòng chứa một số nguyên dương \(x\) (\(x \le u_n\)).

Output

Đối với mỗi truy vấn \(x\), in ra trên một dòng riêng biệt giá trị \(u_i\) tương ứng với số nguyên dương \(i\) nhỏ nhất sao cho \(u_i \ge x\).

Example

Test 1

Input
10
5
1
5
10
20
50
Output
2
5
10
26
50
Dễ

Khoảng cách Euclid

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

root

Trong mặt phẳng tọa độ Oxy, bạn được cho một tập hợp gồm \(n\) điểm. Nhiệm vụ của bạn là tìm khoảng cách Euclid ngắn nhất giữa hai điểm bất kỳ trong tập hợp đó.

Khoảng cách Euclid giữa hai điểm \((x_1, y_1)\) và \((x_2, y_2)\) được tính bằng công thức:

\[ d = \sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2} \]

**Yêu cầu: **
Cho tọa độ của \(n\) điểm, hãy tìm khoảng cách Euclid ngắn nhất giữa hai điểm bất kỳ. Để đảm bảo kết quả là một số nguyên, bạn cần in ra bình phương của khoảng cách ngắn nhất này.

Input

  • Dòng đầu tiên chứa một số nguyên \(n\) (\(2 \le n \le 2 \cdot 10^5\)), là số lượng điểm.
  • \(n\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(x\) và \(y\) (\(-10^9 \le x, y \le 10^9\)), là tọa độ của một điểm.
  • Đảm bảo rằng không có hai điểm nào có cùng tọa độ.

Output

  • In ra một số nguyên duy nhất là bình phương của khoảng cách Euclid ngắn nhất.

Example

Test 1

Input
4
2 1
4 4
1 2
6 3
Output
2
Xem thêm