Điều hướng chính

Nhắn tin NQ Coding

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ễ

Các lượng cá có thể mua

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

staffagent

Ông Ba đánh bắt được \(n\) con cá, con thứ \(i\) nặng \(a_i\) kg. Chợ không bán cá theo con mà chỉ tính theo tổng cân nặng: khách hàng chọn một số con cá tuỳ ý (có thể không chọn con nào) và mua với tổng khối lượng đúng bằng tổng cân nặng của các con đã chọn.

Hãy liệt kê tất cả các mức khối lượng khác nhau mà một khách hàng có thể mua được (mức \(0\) ứng với việc không chọn con nào, luôn được tính).

Input

  • Dòng đầu chứa số nguyên \(T\) là số bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm hai dòng: dòng thứ nhất là số nguyên \(n\); dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, \dots, a_n\).

Output

Với mỗi bộ dữ liệu in ra một dòng gồm tất cả các mức khối lượng có thể mua, theo thứ tự tăng dần, cách nhau bởi một dấu cách (mỗi mức chỉ in một lần).

Constraints

  • \(1 \le T \le 20\)
  • \(1 \le n \le 100\)
  • \(0 \le a_i \le 200\)

Sample Input

2
3
1 4 4
3
3 0 6

Sample Output

0 1 4 5 8 9
0 3 6 9

Explanation

Bộ dữ liệu 1 có các con cá nặng \(1, 4, 4\): các tổng đạt được là \(0, 1, 4, 5, 8, 9\). Bộ dữ liệu 2 có các con nặng \(3, 0, 6\) nên đạt được \(0, 3, 6, 9\).

Dễ

Sắp bài số lượng lớn

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

staffagent

Trên tay Maverick có \(C \cdot N\) lá bài xếp thành một hàng (theo thứ tự từ trái sang phải như input). Lá bài được xác định bởi màu \(X\) (\(1 \le X \le C\)) và giá trị \(Y\) (\(1 \le Y \le N\)), mỗi cặp \((X, Y)\) xuất hiện đúng một lần.

Mục tiêu là đưa hàng bài về trạng thái: các lá cùng màu liền nhau thành từng khối (khối màu nào đứng trước cũng được) và trong mỗi khối giá trị tăng dần từ trái sang phải.

Mỗi lần Maverick được rút một lá bài bất kỳ ra và nhét vào một chỗ tuỳ ý trong hàng. Tìm số lần rút-nhét ít nhất để đạt mục tiêu.

Input

  • Dòng đầu tiên gồm hai số nguyên \(C\) và \(N\).
  • Tiếp theo là \(C \cdot N\) dòng, mỗi dòng hai số nguyên \(X\) và \(Y\) mô tả một lá bài, theo thứ tự trên tay từ trái sang phải. Các lá bài đôi một khác nhau.

Output

In ra số lần rút-nhét tối thiểu.

Constraints

  • \(1 \le C \le 4\)
  • \(1 \le N \le 25000\)
  • \(1 \le X \le C\), \(1 \le Y \le N\)

Sample Input

2 3
1 2
2 3
1 1
2 1
1 3
2 2

Sample Output

3

Explanation

Có thể giữ nguyên ba lá \((1,2)\), \((1,3)\), \((2,2)\) (theo đúng thứ tự xuất hiện này chúng đã nằm đúng vị trí tương đối nếu khối màu \(1\) đứng trước khối màu \(2\)), và di chuyển ba lá còn lại vào đúng chỗ. Không thể giữ được nhiều hơn ba lá nên đáp án là \(3\).

Dễ

Chính phương

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

staffagent

Cho một dãy số \(a\) gồm \(N\) số nguyên dương \(a_1, a_2, \dots, a_N\).
Một số nguyên dương \(K\) được gọi là số siêu chính phương của dãy \(a\) nếu thỏa mãn đồng thời hai điều kiện:

  • \(K\) là một số chính phương;
  • \(K\) chia hết cho tất cả các phần tử \(a_1, a_2, \dots, a_N\).

Yêu cầu. Hãy tìm số siêu chính phương nhỏ nhất \(K\) của dãy \(a\).
Do \(K\) có thể rất lớn, chỉ cần in ra \(K \bmod 1000000007\).

Input

  • Dòng đầu chứa số nguyên dương \(N\) \((1 \le N \le 10^5)\).
  • Dòng thứ hai chứa \(N\) số nguyên dương \(a_1, a_2, \dots, a_N\) \((1 \le a_i \le 10^6)\).

Output

  • In ra một số nguyên là \(K \bmod 1000000007\).

Input

%
5
3 2 4 3 1

Output

%
36

Notes

Trong ví dụ,
số chính phương nhỏ nhất chia hết cho các phần tử của dãy \(a\) là \(36\), do đó đáp án là \(36\).

Scoring

  • (50%) \(1 < N \le 20\), \(1 \le a_i \le 20\);
  • (30%) \(1 \le N \le 10^5\), mọi \(a_i\) là số nguyên tố nhỏ hơn \(10^6\);
  • (20%) Không có ràng buộc thêm.
Dễ

Ăng-ten

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

root

Có \(N\) ăng-ten được đánh số từ \(1\) đến \(N\) và được đặt thẳng hàng trên một trục, mỗi cái cách nhau đúng \(1\) km. Ăng-ten thứ \(i\) có chiều cao là \(H_i\) và có thể truyền tín hiệu đến các ăng-ten nằm trong đoạn từ \(A_i\) đến \(B_i\) (tính theo khoảng cách từ vị trí \(i\)).

Cụ thể hơn, ăng-ten \(x\) và \(y\) \((1 \le x < y \le N)\) có thể truyền thông tin cho nhau nếu và chỉ nếu:

  • \(x\) nằm trong đoạn mà \(y\) có thể truyền tới, và

  • \(y\) nằm trong đoạn mà \(x\) có thể truyền tới.

Khi đó, hai ăng-ten được gọi là có thể liên lạc được, và chi phí liên lạc giữa hai ăng-ten này được tính là \(|H_x - H_y|\).

Thủ tướng K nhận được \(Q\) khiếu nại từ người dân về việc liên lạc kém. Mỗi khiếu nại liên quan đến một đoạn ăng-ten liên tiếp từ \(L_j\) đến \(R_j\). Với mỗi khiếu nại, hãy xác định xem có cặp ăng-ten nào trong đoạn đó có thể liên lạc được không. Nếu có, hãy in ra chi phí liên lạc lớn nhất giữa các cặp như vậy. Nếu không có cặp nào thỏa mãn, in ra \(-1\).

\InputFile

  • Dòng đầu chứa số nguyên \(N\) (\(2 \le N \le 200\,000\)).
  • \(N\) dòng tiếp theo, dòng thứ \(i\) chứa ba số nguyên \(H_i\), \(A_i\), \(B_i\) (\(1 \le H_i \le 10^9\), \(1 \le A_i \le B_i \le N - 1\)).
  • Dòng tiếp theo chứa số nguyên \(Q\) (\(1 \le Q \le 200\,000\)).
  • \(Q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(L_j, R_j\) (\(1 \le L_j < R_j \le N\)).

\OutputFile

In ra \(Q\) dòng. Dòng thứ \(j\) in ra \(-1\) nếu không tồn tại cặp ăng-ten nào trong đoạn \([L_j, R_j]\) có thể liên lạc với nhau. Ngược lại, in ra chi phí liên lạc lớn nhất giữa các cặp liên lạc được.

\Scoring

  • Subtask 1 (10%): \(N, Q \le 300\)
  • Subtask 2 (25%): \(N \le 2000\)
  • Subtask 3 (25%): \(Q = 1\), \(L_1 = 1\), \(R_1 = N\)
  • Subtask 4 (40%): Không có ràng buộc bổ sung

Example

Test 1

Input
5
10 2 4
1 1 1
2 1 3
1 1 1
100 1 1
5
1 2
2 3
1 3
1 4
1 5
Output
-1
1
8
8
99
Xem thêm