Đ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

Quân đội

100 điểm

Lục địa QT có tổng cộng \(N\) đất nước (được đánh số từ \(1\) đến \(N\)) và có \(M\) con đường hai chiều nối giữa các đất nước với nhau. Đất nước RoNE có chỉ số là \(1\), và đất nước NhaNTH có chỉ số là \(N\). Quân đội của đất nước RoNE có \(X\) quân lính và đang muốn xuất quân đi đánh chiếm đất nước thực dân NhaNTH.

Ở mỗi đất nước trên lục địa QT đều có quân thực dân của đất nước NhaNTH chiếm đóng (kể cả đất nước của RoNE), đất nước thứ \(i\) có \(A_i\) quân thực dân. Khi đội quân của RoNE đi qua một đất nước, sẽ có một trận chiến xảy ra. Nếu số lượng quân của RoNE nhiều hơn số lượng quân thực dân tại đất nước đó, quân đội RoNE sẽ toàn thắng, chiếm được đất nước đó và không có thiệt hại nào. Ngược lại, đội quân RoNE vẫn sẽ chiến thắng và chiếm được đất nước đó nhưng số lượng quân sống sót chỉ còn một nửa (nếu số lượng quân lính của RoNE là \(x\) thì sẽ chỉ còn lại \(\lfloor \frac{x}{2}\rfloor\)). Đội quân RoNE cần phải bắt đầu từ đất nước của mình đến đất nước NhaNTH và tiêu diệt tất cả quân thực dân trên đường đi.

Nếu bạn là quân sư của đất nước RoNE, hãy tìm một đường hành quân tốt nhất sao cho có thể bảo toàn được nhiều quân lính nhất có thể sau khi chiếm được đất nước NhaNTH.

Input

  • Dòng đầu tiên gồm \(2\) số \(N,M\) là số lượng đất nước và số lượng đường đi giữa các đất nước.
  • \(M\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u,v\) mô tả một con đường nối giữa hai đất nước \(u\) và \(v\).
  • Dòng tiếp theo chứa số nguyên \(X\ (1\le X\le10^9)\) là số lượng quân lính của đất nước RoNE.
  • Dòng tiếp theo chứa \(N\) số nguyên dương mô tả dãy \(A\ (1\le A_i\le10^9)\) là số lượng quân thực dân tại mỗi đất nước.

Output

  • Ghi ra số lượng quân lính tối đa có thể sống sót sau khi chiếm được đất nước NhaNTH. Nếu không thể chiếm đánh thành công, ghi ra \(0\).

Example

Test 1

Input
4 4
1 2
1 3
2 4
3 4
7
10 2 3 1
Output
3

Test 2

Input
4 4
1 2
1 3
2 4
3 4
7
10 3 3 1
Output
0

Scoring

  • Subtask \(1\) (\(20\%\) số điểm) \(1 \le N,M \le 1000\).
  • Subtask \(2\) (\(30\%\) số điểm) \(1 \le N,M \le 100000\).
  • Subtask \(3\) (\(50\%\) số điểm) \(1 \le N, M \le 500000\).

root

Product

100 điểm

Cho một dãy \(A\) gồm \(n\) phần tử. Tìm hai chỉ số \(i\) và \(j\) thỏa mãn \(i < j\) và \(A_i < A_j\) và tích \(A_i \times A_j\) là nhỏ nhất.

Input

  • Dòng đầu tiên chứa số nguyên dương \(T\) là số lượng testcase.
  • \(T\) dòng tiếp theo, mỗi dòng chứa các số \(n,l,r,x,y,z,B_1,B_2\ (2\le n \le 10^7,-2\times10^9\le l \le r \le2×10^9,0\le x,y,z,B_1,B_2<2^{32})\), với \(n\) là độ dài của dãy.

  • Dãy \(A\) được sinh ra bằng thuật toán sau: Đầu tiên sinh ra dãy \(B\) gồm \(n\) phần tử. \(B_1\) và \(B_2\) đã cho, với mọi \(i>2\):

  • \(B_i=(B_{i-2} \times x + B_{i-1} \times y+z)\) mod \(2^{32}\).

  • \(A_i=B_i\) mod \((r-l+1)+l\). Khi đó \(-2\times10^9\le A_i\le2\times10^9\).

  • Tổng \(n\) trong tất cả các testcase không vượt quá \(2 \times 10^7\).

Output

  • Với mỗi testcase, ghi ra tích \(A_i \times A_j\) nhỏ nhất tìm được, nếu không có \(i,j\)thỏa mãn, ghi ra \(-1\).

Example

Test 1

Input
2
4 -5 5 11 13 17 0 3
5 0 100 0 1 0 42 42
Output
-15
-1

Scoring

  • Subtask \(1\) (\(10\%\) số điểm): Tổng \(n\) không vượt quá \(2 \times 10^3\).
  • Subtask \(2\) (\(10\%\) số điểm): Tổng \(n\) không vượt quá \(2 \times 10^5\).
  • Subtask \(3\) (\(30\%\) số điểm): Tổng \(n\) không vượt quá \(2 \times 10^6\).
  • Subtask \(4\) (\(50\%\) số điểm): Tổng \(n\) không vượt quá \(2 \times 10^7\).

root

Phun thuốc

100 điểm

Trên một vùng đất rộng lớn được xem như một mặt phẳng tọa độ có góc là \((0,0)\), người ta thực hiện nhiều chiến dịch phun thuốc trừ sâu. Mỗi chiến dịch sẽ phun thuốc lên một mảnh đất hình chữ nhật, được xác định bởi hai đỉnh đối diện là \((x_1, y_1)\) và \((x_2, y_2)\) (các cạnh song song với trục tọa độ).

Mỗi lần phun thuốc, tất cả các ô nằm trong phạm vi hình chữ nhật sẽ tăng thêm đúng \(1\) đơn vị thuốc.

Một ô là đạt chuẩn nếu lượng thuốc tại ô đó nằm trong đoạn \([L,R]\).

Hãy tính số ô đạt chuẩn sau tất cả các chiến dịch phun thuốc.

Input

  • Dòng đầu tiên chứa ba số nguyên \(N\), \(L\), \(R\) --- số lượng chiến dịch phun thuốc, ngưỡng an toàn dưới và trên (\(1 \leq N \leq 10^5\), \(0 \leq L \leq R \leq N\)).
  • \(N\) dòng tiếp theo, mỗi dòng chứa bốn số nguyên \(x_1, y_1, x_2, y_2\) (\(0 \leq x_1 \leq x_2 \leq 10^5\), \(0 \leq y_1 \leq y_2 \leq 10^5\)) --- mô tả phạm vi phun thuốc của chiến dịch thứ \(i\).

Output

In ra một số nguyên duy nhất là số ô đạt chuẩn.

Example

Test 1

Input
4 1 1
2 2 6 5
3 3 7 6
7 5 9 7
8 3 10 6
Output
25

Test 2

Input
4 1 2
2 2 6 5
3 3 7 6
7 5 9 7
8 3 10 6
Output
43

Scoring

\begintabular|c|c|l|
\hline
Subtask & Điểm & Giới hạn

\hline
1 & 8 & \(N \le 200\), \(0 \le x_1 \le x_2 \le 200\), \(0 \le y_1 \le y_2 \le 200\)

\hline
2 & 12 & \(0 \le x_1 \le x_2 \le 2000\), \(0 \le y_1 \le y_2 \le 2000\)

\hline
3 & 10 & \(L = 1\), \(R = N\)

\hline
4 & 20 & \(L = R = N\)

\hline
5 & 15 & \(L = R\)

\hline
6 & 15 & \(N \le 10^4\)

\hline
7 & 20 & Không có ràng buộc bổ sung

\hline
\endtabular

root

Lựa chọn đồng đội

100 điểm

Chào mừng các bạn đến với UIT Algo Bootcamp 2025!

Với sứ mệnh chắp cánh những tài năng công nghệ trẻ, UIT Algo Bootcamp là nơi các bạn rèn luyện kỹ năng giải thuật, chuẩn bị cho những thử thách lớn hơn như đấu trường ICPC. Một trong những kỹ năng quan trọng nhất trong lập trình thi đấu đồng đội chính là khả năng phối hợp. Để kiểm tra tư duy và khả năng phân tích chiến lược của các trại sinh, ban tổ chức đưa ra một bài toán nhỏ.

Giả sử có \(n\) bạn học viên, được đánh số từ \(1\) đến \(n\). Các bạn cần chọn ra một nhóm gồm 5 người để thành lập một đội hình tiềm năng. Số cách chọn một nhóm 5 người từ \(n\) người được tính bằng công thức tổ hợp \(C_n^5 = \frac{n(n-1)(n-2)(n-3)(n-4)}{5!}\). Ban tổ chức muốn các bạn tính giá trị này, nhưng không phải là số cách chọn, mà là một phép biến đổi toán học đặc biệt, bạn có thể xem công thức dưới đây.

Yêu cầu: Cho hai số nguyên dương \(n\) và \(m\). Hãy tính giá trị của biểu thức:

\[ \frac{n(n+1)(n+2)(n+3)(n+4)}{120} \pmod{m} \]

Đây là một bài toán cơ bản nhưng đòi hỏi sự cẩn trọng trong tính toán với các số lớn, một kỹ năng thiết yếu khi thi đấu.

Input

  • Dòng duy nhất chứa hai số nguyên dương \(n\) và \(m\) (\(n, m \le 10^9\)).

Output

  • In ra một dòng duy nhất là kết quả của bài toán.

Example

Test 1

Input
9 100
Output
87

Scoring

  • Subtask 1 (\(50\%\) số điểm) : \(n, m \le 1000\).
  • Subtask 2 (\(50\%\) số điểm) : không có ràng buộc gì thêm.
Xem thêm