Đ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

Tô màu cây

100 điểm

Cho một cây có \(n\) đỉnh. Các đỉnh được đánh số từ \(1\) đến \(n\) và gốc của cây là đỉnh \(1\). Một số đỉnh của cây đã được tô màu đen, một số khác thì chưa được tô màu. Ta cần tìm cách tô màu cho tất cả các đỉnh.

Thao tác tô màu được định nghĩa như sau: Chọn một đỉnh \(u\) và tô tất cả các đỉnh \(v\) thành màu đen nếu thỏa mãn các điều kiện sau:

  • Đỉnh \(v\) nằm trong cây con gốc \(u\).
  • Khoảng cách giữa hai đỉnh \(u\) và \(v\) chính xác là \(i\). (Khoảng cách được định nghĩa là số cạnh ngắn nhất để đi từ \(u\) đến \(v\).)

Chi phí để tô màu một đỉnh có khoảng cách \(i\) là \(c_i\). Trong một thao tác, nếu chọn đỉnh \(u\) mà có nhiều hơn một đỉnh \(v\) cùng cách \(u\) một khoảng cách \(i\) thì tất cả các đỉnh đó sẽ được tô màu cùng lúc với chi phí \(c_i\).

Yêu cầu: Hãy tìm cách tô màu sao cho tất cả các đỉnh đều trở thành màu đen với tổng chi phí nhỏ nhất.

Input

  • Dòng đầu chứa số nguyên \(n\) (\(1 \leq n \leq 10^6\)).
  • Dòng thứ hai gồm \(n\) số \(c_0, c_1, \dots, c_{n-1}\) (\(c_i \leq 10^9\)), với \(c_i\) là chi phí để tô màu ở khoảng cách \(i\).
  • Dòng thứ ba gồm \(n\) số \(a_1, a_2, \dots, a_n\). Nếu \(a_i = 0\) thì đỉnh \(i\) chưa được tô màu, nếu \(a_i = 1\) thì đỉnh \(i\) đã được tô màu.
  • \(n - 1\) dòng tiếp theo, mỗi dòng gồm hai số nguyên \(u, v\) mô tả một cạnh của cây.

Output

Một dòng duy nhất ghi số nguyên là tổng chi phí nhỏ nhất để tô tất cả các đỉnh thành màu đen.

Example

Test 1

Input
5
10 5 1 5 5
0 1 0 0 1
1 2
2 3
2 4
4 5
Output
11
Note

Giải thích test ví dụ:

Chọn đỉnh 1 làm gốc, tô
màu đỉnh 3 và 4 với
khoảng cách 2-> chi phí
1.

Sau đó tô đỉnh 1,
khoảng cách 0, chi
phí 10.

Scoring

  • Có 20% số test với \(n \leq 20\).
  • Có 30% số test với \(n \leq 200\).
  • Có 30% số test với \(n \leq 2000\).
  • Số test còn lại không có ràng buộc gì thêm.

root

Phép chia

100 điểm

Nhập vào từ bàn phím \(2\) số nguyên \(a\) và \(b\) \((b \neq 0)\). In ra kết quả của phép chia \(a / b\)

Input

Nhập vào từ bàn phím \(2\) số nguyên \(a\) và \(b\) \((b \neq 0)\).

Output

Kết quả của phép chia \(a / b\).

Example

Test 1

Input
6 3
Output
2

Test 2

Input
5 3
Output
1.66667

root

Chia đất

100 điểm

Phú hộ qua đời để lại cho 4 người con một mảnh đất hình vuông có kích thước \(n × n\), trên đó có trồng một số cây gỗ quí. Theo di chúc, mảnh đất sẽ được chia thành 4 phần, mỗi phần là một hình chữ nhật. Để tiết kiệm chi phí chia đất nên chỉ có thể thực hiện cắt mảnh đất bởi một nhát cắt theo chiều ngang và một nhát cắt theo chiều dọc. Các con của phú hộ đều thích có nhiều cây gỗ quí vì vậy họ sẽ chọn phần đất có nhiều cây gỗ quí hơn. Thứ tự nhận đất sẽ từ lớn tới nhỏ, người em út sẽ nhận phần có ít cây gỗ quí nhất.

  • Hãy chỉ cách chia đất để chênh lệch giữa số cây gỗ quí của người anh cả và của người em út là ít nhất.

Input

  • Dòng thứ nhất ghi số nguyên dương \(n (2 ≤ n ≤ 500)\)

  • Tiếp theo là \(n\) dòng, mỗi dòng ghi \(n\) số, số 0 hoặc số 1. Số 0 thể hiện vị trí không có cây gỗ quí, số 1 thể hiện vị trí có cây gỗ quí.

Output

Các số ghi trên cùng một dòng cách nhau bởi ít nhất một kí tự trắng.

Example

Test 1

Input
6
1 0 1 0 0 1
0 1 0 0 0 1
1 0 0 0 0 0
0 1 1 0 0 1
0 1 0 0 1 0
1 0 1 0 0 0
Output
1

root

Tần số

100 điểm

Cho một mảng số nguyên \(A\) gồm \(N\) phần tử, đánh số từ \(1\) đến \(N\).
Bạn cần thực hiện \(Q\) truy vấn. Mỗi truy vấn có dạng \((l, r, x, y)\) và được hiểu như sau:

Với mọi chỉ số \(i\) thỏa \(l \le i \le r\):

  • nếu \(A[i] = x\) thì gán \(A[i] := y\),
  • nếu \(A[i] \ne x\) thì giữ nguyên.

Sau khi thực hiện lần lượt tất cả \(Q\) truy vấn theo đúng thứ tự đã cho, hãy in ra mảng \(A\) cuối cùng.

\InputFile

  • Dòng 1 gồm hai số nguyên \(N, Q\) (\(1 \le N, Q \le 2 \cdot 10^5\)).

  • Dòng 2 gồm \(N\) số nguyên \(A_1, A_2, \dots, A_N\) (\(1 \le A_i \le 100\)).

  • \(Q\) dòng tiếp theo, mỗi dòng gồm 4 số nguyên \(l, r, x, y\) (\(1 \le l \le r \le N\), \(1 \le x, y \le 100\)).

\OutputFile
In ra \(N\) số nguyên là các phần tử của mảng \(A\) sau khi thực hiện tất cả truy vấn, cách nhau bởi dấu cách.

Example

Test 1

Input
7 3
1 2 3 2 1 2 3
1 7 2 5
3 6 1 3
1 3 3 2
Output
1 5 2 5 3 5 3 
Xem thêm