Đ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

Ếch nhảy hàng rào

100 điểm

Có \(N\) viên đá được đánh số từ \(1\) đến \(N\). Đối với mỗi viên đá thứ \(i\) (\(1 \le i \le N\)), chiều cao của nó là \(h_i\). Dữ liệu đảm bảo rằng \(h_1 < h_2 < \dots < h_N\).

Có một chú ếch ban đầu đang đứng trên viên đá số \(1\). Chú sẽ lặp lại hành động sau đây một số lần để di chuyển tới viên đá số \(N\):

Nếu chú ếch đang ở viên đá thứ \(i\), nó có thể nhảy tới bất kỳ viên đá nào có chỉ số \(j\) với \(i+1 \le j \le N\). Chi phí cho cú nhảy này là \((h_j - h_i)^2 + C\), với \(j\) là viên đá đích.

Hãy tìm tổng chi phí nhỏ nhất có thể để chú ếch đi từ viên đá \(1\) đến viên đá \(N\).

Input

  • Dòng đầu tiên chứa hai số nguyên \(N\) và \(C\) (\(2 \le N \le 2 \cdot 10^5\), \(1 \le C \le 10^{12}\)).
  • Dòng thứ hai chứa \(N\) số nguyên \(h_1, h_2, \dots, h_N\) (\(1 \le h_1 < h_2 < \dots < h_N \le 10^6\)), là chiều cao của các viên đá.

Output

In ra một số nguyên duy nhất là tổng chi phí tối thiểu để chú ếch tới được viên đá \(N\).

Example

Test 1

Input
5 6
1 2 3 4 5
Output
20

Scoring

  • Có \(50\%\) số điểm tương ứng với \(50\%\) số test có \(N \leq 10^3\).
  • Có \(50\%\) số điểm tương ứng vơi \(50\%\) số test còn lại không có ràng buộc gì thêm.

root

Phân biệt

100 điểm

Trong quá trình huấn luyện để chuẩn bị cho đấu trường ICPC, các bạn trại sinh sẽ được thử sức với nhiều dạng bài tập khác nhau. Một trong những bài toán đầu tiên được đưa ra nhằm kiểm tra tư duy chiến lược và khả năng xử lý xâu của các bạn.

Ban tổ chức Bootcamp cần đặt một cái tên đặc biệt cho phần thưởng dành cho những học viên xuất sắc nhất. Tên này phải được lấy từ một xâu chủ đề cho trước, đó là một chuỗi các ký tự tiếng Anh viết thường. Cụ thể, tên của phần thưởng phải là một xâu con (một dãy các ký tự liên tiếp) của xâu chủ đề.

Để thể hiện sự đa dạng trong kỹ năng của các học viên, tên của phần thưởng còn phải có ít nhất \(k\) ký tự phân biệt.

Yêu cầu: Hãy giúp ban tổ chức đếm số cách chọn một xâu con từ xâu chủ đề thỏa mãn điều kiện trên. Hai cách chọn được coi là khác nhau nếu vị trí bắt đầu hoặc vị trí kết thúc của xâu con khác nhau.

Input

  • Dòng đầu tiên chứa hai số nguyên dương \(n\) và \(k\) (\(1 \le n \le 10^6, 1 \le k \le 26\)), lần lượt là độ dài của xâu chủ đề và số lượng ký tự phân biệt tối thiểu yêu cầu.
  • Dòng thứ hai chứa xâu chủ đề gồm \(n\) ký tự trong bảng chữ cái tiếng Anh viết thường.

Output

  • In ra một số nguyên không âm duy nhất là tổng số xâu con thỏa mãn.

Example

Test 1

Input
5 3
abacd
Output
5
Note

Với xâu chủ đề abacd và \(k=3\), các xâu con thỏa mãn là:

  • abac
  • abacd
  • bac
  • bacd
  • acd

Có 5 xâu con thỏa mãn.

Scoring

  • \(20\%\) số test có \(k=1\).
  • \(20\%\) số test có \(k=2\).
  • \(20\%\) số test có \(n \le 10^2\).
  • \(20\%\) số test có \(n \le 10^4\).
  • \(20\%\) số test không có ràng buộc gì thêm.

root

Điểm trong hình chữ nhật

100 điểm

Cho \(n+1\) hình chữ nhật có cạnh song song với trục toạ độ. Hãy tìm điểm nằm trong ít nhất \(n\) hình chữ nhật. Nếu có nhiều điểm thoả mãn thì đưa ra điểm gần với điểm \((0,0)\) nhất, nếu vẫn có nhiều điểm thoả mãn thì đưa ra điểm có hoành độ nhỏ nhất.

Input

Dòng đầu chứa số \(n\)

\(n+1\) dòng tiếp theo mỗi dòng chứa \(4\) số \(x_{1},y_{1},x_{2},y_{2}\) mô tả toạ độ của hình chữ nhật.

Output

Đưa ra toạ độ điểm tìm được, hoặc đưa ra \(−1\) nếu không tồn tại.

Example

Test 1

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

\begincenter

\endcenter

Scoring

\(1 \leq n \leq 2 \times 10^5\)

\(0 \leq x_{1}, y_{1}, x_{2}, y_{2} \le 10^5\).

Subtask \(1\) có \(20\) điểm : \(n, x_{1}, y_{1}, x_{2}, y_{2} \leq 200\).

Subtask \(2\) có \(30\) điểm : \(n \leq 2000\).

Subtask \(3\) có \(50\) điểm : không có ràng buộc gì thêm

root

Du lịch

100 điểm

Đất nước ABC có \(n\) thành phố, các thành phố được đánh số từ \(1\) đến \(n\) và các con đường nối giữa các thành phố là đường đi hai chiều. Hệ thống giao thông đó đảm bảo luôn đi được từ một thành phố bất kỳ đến một thành phố khác thông qua các đường đi.

Nam đang dự định đi du lịch đất nước ABC, chuyến đi của cậu bắt đầu từ thành phố \(s\) và kết thúc tại thành phố \(t\). Nam có thể di chuyển tự do giữa các thành phố và cậu có thể thăm lại thành phố mà cậu đã thăm với số lần tùy thích, nhưng nếu đến thành phố \(t\) thì Nam sẽ kết thúc hành trình của mình. Nam sẽ chụp một bức ảnh ở thành phố đầu tiên của chuyến đi nếu \(s \le t\). Sau đó, mỗi khi cậu đến một thành phố có chỉ số lớn hơn tất cả thành phố đã được thăm, cậu sẽ chụp thêm một bức ảnh ở thành phố đó. Đồng thời, Nam cũng muốn chụp một bức ảnh ở thành phố kết thúc nếu nó thỏa mãn điều kiện chụp ảnh trên.

Yêu cầu: Nam có \(q\) lựa chọn, mỗi lựa chọn cho biết thành phố xuất phát \(s\) và thành phố kết thúc \(t\). Bạn hãy cho biết số lượng ảnh tối đa cậu ấy có thể chụp trong suốt chuyến đi từ \(s\) đến \(t\), hoặc không có hành trình nào với điều kiện như vậy.

Input

  • Dòng đầu tiên chứa hai số nguyên \(n, m\) (\(1 \le n \le 5000\), \(n-1 \le m \le \min(\frac{n(n-1)}{2}, 5000)\)) lần lượt là số thành phố ở đất nước ABC và số con đường nối các thành phố.
  • \(m\) dòng tiếp theo, mỗi dòng chứa hai số nguyên dương \(u, v\) (\(1 \le u, v \le n\)) thể hiện một đường đi hai chiều nối hai thành phố \(u\) và \(v\).
  • Dòng tiếp theo chứa số nguyên \(q\) (\(1 \le q \le 2 \times 10^5\)) là số lựa chọn của Nam.
  • \(q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên dương \(s, t\) (\(1 \le s, t \le n\)) thể hiện một lựa chọn của Nam.

Các số trên một dòng ghi cách nhau bởi dấu cách.

Output

  • Gồm \(q\) dòng, theo thứ tự lựa chọn của Nam trong tệp dữ liệu vào, mỗi dòng ghi một số là số lượng bức ảnh lớn nhất mà Nam chụp được trong hành trình lựa chọn đó. Nếu không có hành trình như vậy thì ghi ra \(-1\).

Example

Test 1

Input
3 3
1 2
2 3
3 1
4
1 2
2 3
3 1
3 3
Output
2
2
-1
1

Test 2

Input
4 4
1 2
1 4
2 3
3 4
2
1 4
3 2
Output
4
-1

Test 3

Input
3 2
1 3
3 2
2
1 1
1 2
Output
1
-1

Scoring

  • 20% số tests tương ứng với 20% số điểm của bài có: \(q \le 1000, s+1 = t\) với mọi lựa chọn.
  • 20% số tests khác tương ứng với 20% số điểm của bài có: \(n \le 1000, q \le 1000\).
  • 20% số tests khác tương ứng với 20% số điểm của bài có: \(n \le 1000\).
  • 40% số tests còn lại tương ứng với 40% số điểm của bài không có ràng buộc gì thêm.
Xem thêm