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

Hành trình du lịch

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

root

Sau chuỗi ngày ôn và thi mệt mỏi, Bờm quyết định du lịch đến đất nước Byteland. Đất nước xinh đẹp này có \(n\) thành phố, các thành phố kết nối với nhau bởi \(n-1\) con đường hai chiều. Con đường thứ \(i\) nối từ thành phố \(x\) đến thành phố \(y\) có độ dài \(w\).

Thêm nữa, qua quá trình khảo sát Bờm có lên thang điểm về độ đẹp cho mỗi thành phố. Độ đẹp của thành phố thứ \(i\) được đánh giá là \(a_i\).

Việc đi lại giữa các thành phố được thực hiện bằng xe buýt. Cách vận hành xe buýt ở đây cũng rất đặc biệt:

Giả sử xe buýt đang ở thành phố \(u\), nó sẽ xác định tuyến đi tiếp theo bằng cách chọn một thành phố \(v\) (\(v \neq u\) và có thể \((u,v)\) không có cạnh nối) sao cho giá trị \(a_v - d(u, v)\) là lớn nhất. Trong đó \(d(u, v)\) được định nghĩa là khoảng cách đi từ \(u\) đến \(v\). Nếu có nhiều thành phố thỏa mãn thì xe buýt sẽ di chuyển đến thành phố có chỉ số nhỏ nhất. Khi đã chọn được điểm đến là thành phố \(v\), xe buýt sẽ đi thẳng từ \(u\) đến \(v\) mà không dừng ở các thành phố trung gian.

Yêu cầu: Cho \(Q\) truy vấn, mỗi truy vấn có hai tham số \(s, k\) ứng với việc Bờm xuất phát từ thành phố \(s\) và di chuyển qua \(k\) tuyến đường bằng xe buýt theo cách mô tả ở trên. Hãy cho biết, với mỗi truy vấn thì Bờm sẽ kết thúc chuyến đi ở thành phố nào?

Input

  • Dòng đầu chứa hai số nguyên dương \(n, Q\) (\(n, Q \leq 2 \times 10^5\)) là số thành phố và số truy vấn.
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \dots, a_n\) là độ đẹp của các thành phố (\(|a_i| \leq 10^9\)).
  • \(n - 1\) dòng tiếp theo, mỗi dòng chứa ba số nguyên \(x, y, w\) mô tả một con đường hai chiều (\(1 \leq x, y \leq n,~ 0 < w \leq 10^9\)).
  • \(Q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(s, k\) mô tả một truy vấn: thành phố xuất phát \(s\) và số tuyến đường \(k\) (\(1 \le s \le n\), \(k \le 10^6\)).

Output

Gồm \(Q\) dòng, mỗi dòng in ra chỉ số thành phố mà Bờm sẽ kết thúc chuyến đi ở mỗi truy vấn.

Example

Test 1

Input
5 4
1 2 3 4 5
1 4 3
3 2 5
4 3 2
1 5 2
1 1
2 3
3 2
5 1
Output
5
3
3
1
Note

Hành trình của 4 tour của Bờm:

1 → 5

2 → 3 → 4 → 5

3 → 4 → 5

5 → 1

Scoring

  • Có 20% số test với \(n, Q \leq 200,~ k \leq 200\).
  • Có 25% số test khác với \(n, Q \leq 2000\).
  • Có 25% số test khác với \(k = 1\).
  • Số test còn lại không có ràng buộc gì thêm.
Dễ

Truy vấn XOR

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

root

Bạn có một mảng \(a\) , gồm \(n\) số nguyên \(a_{1} , a_{2} , ..., a_{n}\) . Bạn được phép thực hiện hai thao tác trên mảng này:

  • Tính tổng các phần tử mảng hiện tại trên đoạn \([l,r]\) , nghĩa là tính \(a_{l} + a_{l + 1} + ... + a_{r}\).

  • Áp dụng phép toán xor với một số \(x\) cho trước cho mỗi phần tử của mảng trên đoạn \([l,r]\) , nghĩa là \(a_{i}:=a_{i}\) \(xor\) \(x\) với \(l \leq i \leq r\). Thao tác này thay đổi chính xác \(r - l + 1\) phần tử của mảng.

Bạn có một danh sách gồm \(m\) thao tác thuộc một trong hai loại trên. Nhiệm vụ của bạn là thực hiện tất cả các thao tác đã cho, đối với mỗi thao tác tính tổng, in ra kết quả của thao tác đó.

Input

Dòng đầu tiên chứa số nguyên dương \(n\) \((1 ≤ n ≤ 2.10^5)\) - kích thước của mảng.

Dòng thứ hai chứa các số nguyên không âm \(a_{1} , a_{2} , ..., a_{n}\) \((0 ≤ a_{i} ≤ 10^6)\) - mảng ban đầu.

Dòng thứ ba chứa số nguyên \(m\) \(( 1 ≤ m ≤ 2.10^5 )\) - số truy vấn.
Dòng thứ \(i\) trong số \(m\) dòng tiếp theo đầu tiên chứa số nguyên \(t_i\) \((1 ≤ t_{i} ≤ 2)\) - loại thao tác thứ i .

Nếu \(t_{i} = 1\) thì đây là thao tác tính tổng, nếu \(t_{i} = 2\) thì đây là thao tác thay đổi các phần tử mảng. Nếu thao tác thứ \(i\) thuộc loại \(1\) , thì tiếp theo là hai số nguyên \(l_{i} , r_{i}\) \(( 1 ≤ l_{i} ≤ r_{i} ≤ n )\). Nếu phép toán thứ \(i\) thuộc loại \(2\) , thì tiếp theo là ba số nguyên \(l_{i} , r_{i} , x_{i}\) \((1 ≤ l_{i} ≤ r_{i} ≤ n , 1 ≤ x_{i} ≤ 10 ^ 6 )\). Các số trên các dòng được phân tách bằng dấu cách.

Output

Với mỗi thao tác loại \(1\), in ra trên một dòng là kết quả của thao tác.

Example

Test 1

Input
5
4 10 3 13 7
8
1 2 4
2 1 3 3
1 2 4
1 3 3
2 2 5 5
1 1 5
2 1 2 10
1 2 3
Output
26
22
0
34
11

Scoring

\(50\%\) số test tương ứng \(50\%\) số điểm có \(n, m <= 10^3\).

\(50\%\) số test tương ứng \(50\%\) số điểm còn lại không có ràng buộc gì thêm.

Dễ

Leo cầu thang thủng

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

staffagent

Một trò chơi có một cầu thang gồm \(n\) bậc, đánh số \(1, 2, \dots, n\) từ dưới lên. Nhân vật đứng ở bậc \(1\) (bậc này luôn nguyên vẹn). Mỗi lượt, nhân vật có thể bước lên bậc kế tiếp (từ \(i\) lên \(i+1\)) hoặc nhảy qua một bậc (từ \(i\) lên \(i+2\)). Có \(k\) bậc bị hỏng, nhân vật không được đặt chân lên các bậc này (nhưng khi nhảy thì được phép bay qua bậc hỏng).

Hãy đếm số cách khác nhau để nhân vật đi từ bậc \(1\) đến bậc \(n\). Hai cách gọi là khác nhau nếu dãy các bậc mà nhân vật đặt chân lên khác nhau. In kết quả theo modulo \(25071987\).

Input

  • Dòng đầu chứa hai số nguyên \(n\) và \(k\).
  • Dòng thứ hai chứa \(k\) số nguyên là chỉ số các bậc bị hỏng, theo thứ tự tăng dần (dòng này có thể rỗng nếu \(k=0\)).

Output

  • In ra một số nguyên: số cách modulo \(25071987\).

Constraints

  • \(0 \le k < n \le 100000\)
  • Bậc \(1\) không bị hỏng.

Sample Input 1

7 2
4 6

Sample Output 1

2

Sample Input 2

6 3
3 4 5

Sample Output 2

0

Sample Input 3

1 0

Sample Output 3

1

Explanation

Ở ví dụ 1, hai cách là \(1 \to 2 \to 3 \to 5 \to 7\) và \(1 \to 3 \to 5 \to 7\). Ở ví dụ 2, ba bậc liên tiếp \(3,4,5\) bị hỏng nên không thể vượt qua. Ở ví dụ 3, nhân vật đã ở sẵn bậc \(n\) nên có đúng một cách.

Dễ

Hội trường đông khách

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

staffagent

Một trung tâm tiệc cưới chỉ có duy nhất một sảnh. Cả năm có \(N\) khách gửi yêu cầu đặt sảnh; khách thứ \(i\) cần dùng sảnh liên tục từ thời điểm \(s_i\) đến hết thời điểm \(t_i\) (\(s_i \le t_i\), tính cả hai đầu mút). Hai khách chỉ cùng được nhận nếu thời điểm bắt đầu của người sau lớn hơn hẳn thời điểm kết thúc của người trước (nghĩa là hai khoảng thời gian không có thời điểm chung).

Trung tâm muốn nhận được số khách nhiều nhất. Hãy tính số khách đó.

Input

  • Dòng đầu là số nguyên \(N\).
  • Mỗi dòng trong \(N\) dòng sau chứa hai số nguyên \(s_i\), \(t_i\).

Output

Một số nguyên duy nhất: số khách tối đa nhận được.

Constraints

  • \(1 \le N \le 10^5\)
  • \(1 \le s_i \le t_i \le 10^9\)

Sample Input

6
1 4
4 6
7 9
5 8
10 12
11 11

Sample Output

3

Explanation

Ví dụ nhận các đơn \((1,4)\), \((5,8)\) và \((10,12)\). Đơn \((4,6)\) trùng thời điểm \(4\) với \((1,4)\) nên hai đơn này không đi cùng nhau. Không có cách nào nhận được \(4\) đơn.

Xem thêm