Kỳ thi HSG Duyên hải và Đồng bằng Bắc Bộ 2021 - Tin học - Khối 10

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Bài dễ (DHBB 2021) 100 (p) 1.0s 256M
2 Xếp hạng (DHBB 2021) 100 (p) 1.0s 256M
3 Mua hàng (DHBB 2021) 100 (p) 1.0s 256M

1. Bài dễ (DHBB 2021)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Trong một kỳ thi, việc sáng tạo bài dễ nhất trong đề thi nhiều khi cũng mất không ít thời gian. Trong đề thi Duyên Hải năm 2021, Ban giám khảo muốn tạo một bài dễ thao tác trên dãy số cho các học sinh khối 10. Bài toán dưới đây đã được sáng tạo và chọn vào đề thi, bài toán này có thể giải được bằng nhiều thuật toán khác nhau.

Cho dãy số nguyên \(a_1, a_2, ..., a_n\), một đoạn \(a_L, a_{L+1},..., a_R (1 \le L \le R \le N)\) được gọi là đoạn đẹp nếu \(L, R\) đều là số nguyên tố. Hãy tìm đoạn đẹp có tổng lớn nhất.

Input

Vào từ thiết bị vào chuẩn theo khuôn dạng:

  • Dòng đầu chứa số nguyên dương \(n (n \ge 2)\);
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, ..., a_n (|a_i| \le 10^6)\)

Output

  • Ghi ra thiết bị ra chuẩn một số nguyên là tổng lớn nhất của đoạn đẹp tìm được.

Scoring

  • Subtask \(1\) (\(40\%\) số điểm): \(n \le 100\);
  • Subtask \(2\) (\(30\%\) số điểm): \(n \le 3000\);
  • Subtask \(3\) (\(30\%\) số điểm): \(n \le 10^6\);

Example

Test 1

Input
6
9 5 -2 6 -1 1
Output
8

2. Xếp hạng (DHBB 2021)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Kỳ thi Duyên Hải đã trở thành một kỳ thi chất lượng và uy tín. Quy mô kỳ thi vượt qua ranh giới về mặt địa lý và đã thu hút nhiều tỉnh thành tham gia. Cùng với việc mở rộng về quy mô, kỳ thi cũng thay đổi hình thức thi. Kỳ thi Duyên Hải năm 2222, có học sinh tham gia, các học sinh được đánh số từ \(1\) đến \(n\). Tất cả các học sinh sẽ phải trải qua ba bài thi ở ba môn Lập trình tính toán, Trí tuệ nhân tạo và An toàn thông tin với thể thức như sau:

  • Với mỗi bài thi, khi các thí sinh thi xong, ban giám khảo sẽ tiến hành chấm điểm bằng nhiều tiêu chí nhằm đảm bảo rằng, không có hai thí sinh nào bằng điểm nhau. Ban Giám khảo lập bảng xếp hạng các thí sinh trên từng môn thi riêng biệt và gửi lên Ban tổ chức ba dãy số \((p_1,p_2,\ldots,p_n)\), \((a_1,a_2,\ldots,a_n)\), \((s_1,s_2,\ldots,s_n)\) tương ứng là xếp hạng của ba môn Lập trình tính toán, trí tuệ nhân tạo và An toàn thông tin. Các dãy số này đều là hoán vị của dãy số \(1,2,\ldots,n\), với ý nghĩa: học sinh thứ \(i\) xếp thứ \(p_i\) ở môn Lập trình tính toán, xếp thứ \(a_i\) ở môn Trí tuệ nhân tạo và xếp thứ \(s_i\) ở môn An toàn thông tin.
  • Từ bảng xếp hạng của các môn, Ban tổ chức dùng phần mềm xếp hạng các thí sinh. Thí sinh thứ \(i\) có mức phân hạng \(2^{a_i}+2^{p_i}+2^{s_i}\) và có thứ hạng chung cuộc được tính bằng số thí sinh có mức phân hạng nhỏ hơn cộng với \(1\). Theo cách xếp hạng của phần mềm, có thể có các thí sinh cùng thứ hạng.

Hiện tại, các thí sinh đã hoàn thành bài thi môn Lập trình tính toán và Trí tuệ nhân tạo, ban giám khảo đã chấm điểm và công bố bảng xếp hạng ở hai môn này. Tiếp theo, thí sinh chuẩn bị bước vào môn thi cuối cùng, môn An toàn thông tin. Để có được chiến lược thi phù hợp, mỗi thí sinh muốn biết thứ hạng chung cuộc tốt nhất và tệ nhất có thể của mình, sau khi môn thi cuối cùng diễn ra.

Yêu cầu: Cho biết thứ hạng của các thí sinh ở hai môn Lập trình tính toán và Trí tuệ nhân tạo, hãy giúp mỗi thí sinh tìm ra thứ hạng tốt nhất và tồi nhất chung cuộc có thể của mình khi xét trên mọi khả năng xảy ra đối với kết quả của môn An toàn thông tin.

Input

  • Dòng thứ nhất chứa số nguyên dương \(n\);
  • Dòng thứ hai chứa \(n\) số nguyên dương \(p_1,p_2,\ldots,p_n\) là một hoán vị của dãy số \(1,2,\ldots,n\), mô tả thứ hạng của thí sinh ở môn Lập trình tính toán;
  • Dòng thứ ba chứa \(n\) số nguyên dương \(a_1,a_2,\ldots,a_n\) là một hoán vị của các dãy số \(1,2,\ldots,n\) mô tả thứ hạng của thí sinh ở môn Trí tuệ nhân tạo.

Output

  • Gồm \(n\) dòng, dòng thứ \(i\) (\(1 \leq i \leq n\)) gồm hai số nguyên dương \(b_i,w_i\) tương ứng là thứ hạng tốt nhất và thứ hạng tệ nhất chung cuộc của thí sinh thứ \(i\).

Scoring

  • Subtask 1 (\(30\%\)): \(n \leq 10\);
  • Subtask 2 (\(20\%\)): \(n \leq 50\);
  • Subtask 3 (\(20\%\)): \(n \leq 200\);
  • Subtask 4 (\(30\%\)): \(n \leq 2000\).

Example

Test 1

Input
3
1 2 3
2 1 3
Output
1 2
1 2
3 3
Note

3. Mua hàng (DHBB 2021)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Là một học sinh yêu thích môn Tin học, Hồng thường tìm cách áp dụng Tin học vào cuộc sống. Hiện tại, Hồng đang gặp một bài toán khó và muốn nhờ các anh chị tham gia kỳ thi Duyên Hải 2021 giải giúp.

Khu vực mà Hồng ở có ba siêu thị, siêu thị A ở trung tâm và hai siêu thị B, C xa trung tâm. Vì xa trung tâm, nên mỗi siêu thị B, C đều có chương trình tích điểm để giảm giá khi mua hàng. Hai chương trình của hai siêu thị là riêng biệt nhưng có hình thức giống nhau. Cụ thể, nếu một khách hàng đã mua hàng ở một siêu thị \(t\) lần thì khách hàng có \(t\) điểm tích lũy tại siêu thị đó, khi khách hàng mua lần tiếp theo (lần thứ \(t + 1\)), khách hàng sẽ được giảm \(t\) đồng trong lần mua đó và số điểm tích lũy tại siêu thị này được tăng lên thành \(t + 1\).

Hồng dự định mua lần lượt mặt hàng, mỗi mặt hàng sẽ được mua ở một trong ba siêu thị A, B, C. Qua khảo sát, Hồng được biết mặt hàng thứ \(i (1 \le i \le n)\) có giá ở ba siêu thị A, B, C tương ứng là \(x_i, y_i, z_i\)
.
Yêu cầu: Cho các giá trị \(x_i, y_i (1 \le i \le n)\) là giá của mặt hàng tương ứng ở ba siêu thị A, B, C, hãy giúp Hồng tìm cách mua hết ít tiền nhất.

Input

Vào từ thiết bị vào chuẩn có khuôn dạng:

  • Dòng đầu chứa số nguyên dương \(n\);
  • Dòng thứ \(i(i = 1, 2, ..., n)\) trong dòng tiếp theo chứa ba số nguyên dương \(x_i, y_i, z_i (n \le x_i, y_i, z_i \le 10^9)\).

Output

  • Ghi ra file thiết bị ra chuẩn một số nguyên là tổng tiền ít nhất để mua được \(n\) mặt hàng.

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(n \le 10\);
  • Subtask \(2\) (\(40\%\) số điểm): \(n \le 200\):
  • Subtask \(3\) (\(30\%\) số điểm): \(n \le 3000\)

Example

Test 1

Input
5
5 5 9
7 8 5
9 9 5
9 9 5
6 6 9
Output
22
Note
  • Mặt hàng thứ nhất mua ở siêu thị B, phải trả 5 và có số điểm tích lũy tại siêu thị B là 1;
  • Mặt hàng thứ hai mua ở siêu thị C, phải trả 5 - 1 = 4 và có số điểm tích lũy tại siêu thị C là 2;
  • Mặt hàng thứ ba mua ở siêu thị C, phải trả 5 - 2 = 3và có số điểm tích lũy tại siêu thị C là 3;
  • Mặt hàng thứ tư mua ở siêu thị C, phải trả và có số điểm tích lũy tại siêu thị C là 3;
  • Mặt hàng thứ năm mua ở siêu thị B, phải trả 6 - 1 = 5 và có số điểm tích lũy tại siêu thị B là 2.
    Tổng số tiền phải trả là: 5 + 5 + 4 + 3 + 5 = 22