Đ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ích bằng

100 điểm

Nhập vào 4 số nguyên \(a\), \(b\), \(c\), \(d\). Nếu \(a \times b = c \times d\), in ra "bang nhau", ngược lại in ra "khac nhau".

Example

Test 1

Input
2 3 1 6
Output
bang nhau

Test 2

Input
2 3 1 7
Output
khac nhau

root

Giao thông

100 điểm

Thành phố X là một thành phố rộng lớn được chia làm \(n\) phân khu. Các phân khu được nối với nhau bởi \(n - 1\) con đường hai chiều, mỗi con đường nối trực tiếp giữa hai phân khu nào đấy sao cho đảm bảo luôn tồn tại đường đi giữa hai phân khu bất kỳ.

Là thành phố lớn nhất nhì trong cả nước, mật độ phương tiện giao thông ở đây là vô cùng khổng lồ, dẫn đến gánh nặng rất lớn về chi phí bảo trì và sửa chữa và bảo trì cơ sở hạ tầng. Do đó, chính quyền thành phố đã cho xây dựng ở mỗi phân khu một trạm kiểm soát.

Khi một phương tiện giao thông di chuyển tới một phân khu, phương tiện bắt buộc phải đi qua trạm kiểm soát này. Mỗi trạm kiểm soát sẽ có một mức giới hạn tải trọng, trạm kiểm soát ở phân khu \(i\) sẽ có mức giới hạn là \(l_{i}\) kg. Giả sử một phương tiện đi qua và có tải trọng lớn hơn giới hạn tải trọng của trạm kiểm soát, chủ phương tiện phải trả cho trạm kiểm soát đó khoảng phạt là \(1\) đồng cho mỗi kg vượt giới hạn. Cụ thể hơn, nếu một phương tiện có tải trọng \(w\) đi qua trạm kiểm soát ở phân khu \(i\), chủ phương tiện đó phải trả cho trạm kiểm soát đó \(\max(w - l_{i}, 0)\) đồng.

Bạn biết được ngày hôm nay đã có \(m\) phương tiện di chuyển, phương tiện \(i\) di chuyển từ phân khu \(s_{i}\) tới phân khu \(t_{i}\) với trọng tải \(w_{i}\) (Lưu ý rằng phương tiện cũng phải đi qua trạm kiểm soát của điểm xuất phát và đích đến). Với mỗi trạm kiểm soát, hãy cho biết sau ngày hôm nay trạm kiểm soát đó đã thu được bao nhiêu tiền.

Input

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(m\) \((1 \leq n, m \leq 3 \times 10^{5})\).

  • Trong \(n - 1\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(u_{i}\) và \(v_{i}\) \((1 \leq u_{i}, v_{i} \leq n)\) có nghĩa là có đường nối trực tiếp giữa phân khu \(u_{i}\) và \(v_{i}\).

  • Dòng tiếp theo chứa \(n\) số nguyên \(l_{i}\) \((0 \leq l_{i} \leq 10^{9})\).

  • Trong \(m\) dòng tiếp theo, dòng thứ \(i\) chứa ba số nguyên \(s_{i}, t_{i}\) và \(w_{i}\) \((1 \leq s_{i}, t_{i} \leq n, 1 \leq w_{i} \leq 10^{9})\).

Output

  • Một dòng duy nhất chứa \(n\) số nguyên, số thứ \(i\) là số tiền mà trạm kiểm soát ở phân khu \(i\) thu được sau ngày hôm nay.

Example

Test 1

Input
4 1
1 2
2 3
3 4
1 2 3 4
1 4 3
Output
2 1 0 0 

Test 2

Input
8 3
1 2
2 3
2 4
3 5
4 6
3 7
3 8
2 2 2 2 2 2 2 2
3 6 7
7 8 4
5 1 1
Output
0 5 7 5 0 5 2 2 

Scoring

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

  • Subtask \(2\) (\(25\%\) số điểm): Thành phố có dạng đường thẳng.

  • Subtask \(3\) (\(25\%\) số điểm): \(l_{i} = 0\) với mọi \(1 \leq i \leq n\).

  • Subtask \(4\) (\(25\%\) số điểm): Không có ràng buộc gì thêm.

root

Chỉ số hấp dẫn

100 điểm

Chỉ số hấp dẫn của xâu kí tự số \(S\) ứng với số nguyên tố \(p\) là số cặp vị trí khác nhau \(i, j\ (1 \le i \le j \le |S|)\)
thỏa mãn điều kiện: Số được tạo từ các kí tự thứ \(i\) đến kí tự thứ \(j\) của \(S\) chia hết cho \(p\). Chú ý rằng, số tạo được có thể chứa các chữ số \(0\) không có nghĩa ở đầu.

Ví dụ, với xâu \(S = '070070'\) và \(p = 13\) ta có các cặp vị trí: \((1, 1), (1, 5), (1, 6), (2, 5), (2, 6), (3, 3), (3, 4), (4, 4)\) và \((6, 6)\). Như vậy, chỉ số hấp dẫn của \(S\) ứng với \(p = 13\) là \(9\).

Yêu cầu: Cho xâu \(S\) và số nguyên tố \(p\), với mỗi truy vấn trong \(q\) truy vấn có dạng là cặp số \(L, R\), hãy cho biết chỉ số hấp dẫn của xâu được ghép lần lượt các kí tự thứ \(L\) đến kí tự thứ \(R\)
của \(S\).

Input

  • Dòng đầu tiên chứa số nguyên tố \(p\ (2 \le p \le 10^9)\).
  • Dòng thứ hai chứa xâu \(S\ (|S| \le 10^5)\) chỉ gồm các kí tự \('0'\) đến \('9'\).
  • Dòng thứ ba chứa số nguyên \(q\) là số lượng truy vấn \((1 \le q \le 10^5)\).
  • Mỗi dòng trong \(q\) dòng sau chứa hai số nguyên \(L\) và \(R\ (1 \le L \le R \le |S|)\).

Output

  • Đưa ra thiết bị ra chuẩn \(q\) dòng, mỗi dòng một số nguyên là chỉ số hấp dẫn của xâu tương ứng truy vấn trong dữ liệu vào.

Example

Test 1

Input
13
070070
3
1 6
2 5
2 2
Output
9
4
0

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): \(|S|, q \le 100\).
  • Subtask \(2\) (\(40\%\) số điểm): \(p = 2\).
  • Subtask \(3\) (\(40\%\) số điểm): Không có ràng buộc nào thêm.

root

Giao thông

100 điểm

Thị trưởng Long sống trong một thành phố gồm \(n\) khu vực dân cư được nối với nhau bởi \(n - 1\) con đường hai chiều,
sao cho từ bất kỳ khu vực nào cũng có thể đi đến mọi khu vực khác.

Long muốn nâng cấp một số con đường để cải thiện tình trạng giao thông. Với mỗi con đường,
ta biết tốc độ di chuyển hiện tại \(v_i\), chi phí nâng cấp \(c_i\) và tốc độ sau khi nâng cấp \(s_i\).

Có \(q\) người dân đến gặp Long với các đề xuất khác nhau.
Đề xuất của người dân thứ \(i\) là:
"Tôi muốn đầu tư \(e_i\) euro để nâng cấp một số con đường trên hành trình từ khu vực \(a_i\) đến khu vực \(b_i\)."

Với mỗi đề xuất, Long muốn biết:
nếu ông chi không quá \(e_i\) euro để chọn nâng cấp một số con đường trên đường đi từ \(a_i\) đến \(b_i\),
thì tốc độ nhỏ nhất trên toàn bộ hành trình này có thể được tăng lên đến bao nhiêu,
trong trường hợp ông lựa chọn nâng cấp tối ưu để tối đa hóa tốc độ nhỏ nhất đó.

\InputFile

Dòng đầu chứa số nguyên \(n\) (\(2 \le n \le 100\,000\)), số khu vực dân cư.

Mỗi dòng trong \(n - 1\) dòng tiếp theo chứa 5 số nguyên \(x_i, y_i, v_i, c_i, s_i\)
(\(1 \le x_i, y_i \le n\), \(1 \le v_i < s_i \le 10^9\), \(1 \le c_i \le 10^9\)),
cho biết khu vực \(x_i\) và \(y_i\) được nối trực tiếp với nhau bằng một con đường có:
tốc độ hiện tại \(v_i\), chi phí nâng cấp \(c_i\), và tốc độ sau nâng cấp \(s_i\).

Dòng tiếp theo chứa số nguyên \(q\) (\(1 \le q \le 100\,000\)), số đề xuất của người dân.

Mỗi dòng trong \(q\) dòng tiếp theo chứa ba số nguyên \(a_i, b_i, e_i\)
(\(1 \le a_i, b_i \le n\), \(a_i \ne b_i\), \(1 \le e_i \le 10^{18}\)),
diễn tả đề xuất thứ \(i\).

\OutputFile

Ở dòng thứ \(i\) trong \(q\) dòng, in ra đáp án cho đề xuất thứ \(i\),
tức là tốc độ nhỏ nhất lớn nhất có thể đạt được trên đường đi từ \(a_i\) đến \(b_i\)
nếu chỉ sử dụng tối đa \(e_i\) euro.

\Scoring

\begintabularc c l
\hline
Subtask & Điểm & Ràng buộc

\hline
1 & 21 &
\(\, n, q \le 1000\)

2 & 29 &
Mỗi khu vực được nối với tối đa 2 khu vực khác

3 & 50 &
Không có ràng buộc bổ sung

\hline
\endtabular
\endcenter

\Examples

\beginexample
\exmp
6
1 2 5 7 10
1 3 4 8 9
3 4 7 1 15
3 5 6 3 11
3 6 5 6 8
3
2 4 15
6 4 5
3 5 10

7
5
11

\exmp
4
1 2 5 5 8
2 3 4 6 9
3 4 6 10 7
4
1 4 16
2 4 16
1 4 10
3 4 10

6
7
5
7

\endexample

\endproblem

Xem thêm