Đ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

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

100 điểm

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\).

root

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

100 điểm

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.

root

Tính tổng chẵn

100 điểm

Cho một bảng hình chữ nhật gồm \(n\) dòng và \(m\) cột. Tính tổng các phần tử nằm trên tọa độ \([i,j]\) mà \(i+j\) bằng một số chẵn.

Input

  • Dòng đầu tiên ghi 2 số \(n\) và \(m\). \((1 \leq n, m \leq 1000)\)

  • \(n\) dòng tiếp theo, mỗi dòng \(m\) số nguyên cách nhau bởi dấu cách. \((|a[i,j]| \leq 1000)\)

Output

  • Đưa ra kết quả mà đề bài yêu cầu

Example

Test 1

Input
2 3
1 1 9
8 2 9
Output
12

root

Bộ ba

100 điểm

Trong một lớp học có \(3 \times n\) học sinh, được chia đều thành 3 tổ. Ba dãy số nguyên dương \(a\), \(b\), \(c\) (mỗi dãy có độ dài là \(n\)) lần lượt biểu diễn chiều cao của học sinh trong tổ 1, tổ 2 và tổ 3.

Thầy chủ nhiệm tổ chức trò chơi "Ba người" nhân ngày 26/3. Mỗi lượt chơi cần chọn ra 3 học sinh (\(i,j,k\) từ tổ \(1\), \(2\), và \(3\)), mỗi người thuộc một tổ khác nhau. Ba học sinh này phải thỏa mãn điều kiện chiều cao như sau:

  • Học sinh tổ 1 thấp hơn học sinh tổ 2: \(a_i < b_j\)

  • Học sinh tổ 2 thấp hơn học sinh tổ 3: \(b_j < c_k\)

  • Học sinh tổ 3 cao hơn học sinh tổ 1: \(c_k > a_i\)

Hỏi có bao nhiêu cách chọn bộ ba học sinh thỏa mãn các điều kiện trên?

Input

Dòng đầu tiên là số nguyên dương \(n\) - số lượng học sinh từng tổ.

Dòng thứ hai là dãy \(a_1,a_2,\ldots,a_n\) - chiều cao các học sinh tổ \(1\).

Dòng thứ ba là dãy \(b_1,b_2,\ldots,b_n\) - chiều cao các học sinh tổ \(2\).

Dòng thứ tư là dãy \(c_1,c_2,\ldots,c_n\) - chiều cao các học sinh tổ \(3\).

Output

Kết quả bài toán.

Example

Test 1

Input
3
1 1 1
2 2 2
3 3 3
Output
27

Test 2

Input
2
1 5
2 4
3 6
Output
3

Scoring

  • 30% số test có \(n \leq 10^2\).
  • 30% số test có \(n \leq 10^3\).
  • 40% số test có \(n \leq 10^5\).
  • Đảm bảo trong tất cả các test, \(0 < a_{i}, b_{i}, c_{i} \leq 10^9\).
Xem thêm