TLEOJ Contest #10 - Mã Kekma
Ở Trái Đất, cấu trúc của ADN được cấu tạo từ sự liên kết của 2 chuỗi nucleotit, trong đó mỗi chuỗi gồm 1 trong 4 nucleotit mang tên A,T,G,X, còn ở hành tinh penguin, tồn tại 26 loại nucleotit tương ứng với 26 chữ cái tiếng Anh viết hoa: A,B,\dots,Z.
Hành tinh penguin rất tân tiến, vậy nên các nhà khoa học đã tạo ra một loại nucleotit mới rất bí ẩn, đặt tên là ?. Bên cạnh đó, họ cũng tìm ra công nghệ chỉnh sửa, chèn vào thứ tự của dãy nucleotit đã có sẵn các loại nucleotit bí ẩn kia.
Ví dụ, có dãy nucleotit A-B-C, các nhà khoa học có thể tạo ra vô hạn dãy mới nhờ thêm vào một vị trí bất kỳ 1 nucleotit ? ấy, điển hình như A-?-B-C-?,...
Nhờ công nghệ thần kỳ kia, và sự đa dạng trong các kiểu hình nucleotit, cộng thêm nucleotit bí ẩn mang tên ? được phát minh ra, các nhà khoa học đã có thể chữa mọi loại bệnh tật, tăng tuổi thọ, cho con người những khả năng đặc biệt!
Sau quá trình nghiên cứu, nhận ra một chuỗi ADN có mã Kekma càng nhỏ, thì lợi ích của nó cho con người càng lớn, trong đó mã Kekma được tính như sau:
Cách tính
Với 2 dãy nucleotit a và b có cùng độ dài n, công thức được tính như sau:
- Với vị trí i, nếu cả a_i và b_i đều là 1 trong 26 ký tự tiếng Anh viết hoa (A,B,\dots,Z) thì giá trị của vị trí thứ i được tính như sau:
- Gọi x là giá trị của nucleotit thứ i trong dãy 1, y là giá trị của nucleotit thứ i trong dãy 2 (Trong đó
Atương ứng với 1,Btương ứng với 2, ...,Ztương ứng với 26) - Khi đó giá trị của vị trí thứ i là |x-y|.
- Gọi x là giá trị của nucleotit thứ i trong dãy 1, y là giá trị của nucleotit thứ i trong dãy 2 (Trong đó
- Ngược lại (tức là 1 trong 2 ký tự là
?) thì giá trị của vị trí thứ i là hằng số Kekma k (được tìm ra). - Mã Kekma của 2 dãy a và b là tổng giá trị của mọi vị trí i từ 1 đến n.
Ví dụ
VD1: ADN có dạng:
- A-B-C
- C-A-B
Xét vị trí đầu tiên, có 2 ký tự A,C không phải là nucleotit đặc biệt ? nên giá trị của vị trí đầu tiên là |1-3|=2.
Xét vị trí thứ hai, có giá trị của vị trí thứ hai là |2-1|=1.
Xét vị trí thứ ba, có giá trị của vị trí thứ ba là |3-2|=1.
Mã Kekma của nó là 2+1+1=4.
VD2: ADN có dạng:
- A-B-?
- C-?-B
Giả sử hằng số Kekma k=3.
Xét vị trí đầu tiên, có giá trị của vị trí đầu tiên là |1-3|=2.
Xét vị trí thứ hai, có ký tự ? ở vị trí thứ hai trong nucleotit thứ hai nên giá trị của vị trí thứ hai là k=3.
Xét vị trí thứ ba, có ký tự ? ở vị trí thứ ba trong nucleotit thứ nhất nên giá trị của vị trí thứ ba là k=3.
Mã Kekma của nó là 2+3+3=8.
Vì tìm ra được lý thuyết ấy, được cả thế giới tôn vinh và giao cho một trọng trách lớn lao là tìm được mã Kekma nhỏ nhất của 1 ADN được tạo thành từ 2 chuỗi nucleotit đã được xử lý.
Biết rằng ban đầu 2 chuỗi nucleotit có độ dài bất kỳ, chỉ chứa các nucleotit A,B,\dots,Z, và cần xử lý chúng bằng cách cho thêm một số nucleotit bí ẩn mang tên ? vào một số vị trí bất kỳ trong 2 chuỗi nucleotit đó. Chú ý là sau khi thực hiện thao tác thì 2 dãy phải có độ dài bằng nhau.
Vì bận nghiên cứu thêm về mã Kekma tại web Kekma, nó đã bị ẩn đi do đó là thông tin mật, vậy nên anh ấy đã giao nhiệm vụ lớn lao kia cho bạn, hãy giúp tạo ra 1 ADN thỏa mãn yêu cầu.
Input, Output và Subtask
Input
- Dòng thứ nhất: 2 chuỗi Nucleotit chỉ gồm các ký tự từ A,B,\dots,Z tương ứng các nucleotit, độ dài không quá 3000.
- Dòng tiếp theo: hằng số Kekma, gọi tắt là k (0 \le k \le 1000)
Output
- Gồm 1 dòng duy nhất là kết quả thỏa mãn.
Example
Input
AAA
CCC
0
Output
0
Note
Ta có thể xử lý 2 chuỗi như sau:
- A-?-A-?-A-?
- ?-C-?-C-?-C
Khi đó, dễ dàng tính được mã Kekma là 0.
TLEOJ Contest #10 - Tổng dãy con
Sau khi bị đăng meme :truongsinh:, đã trở nên vô cùng tức giận và thách đấu 1 trận. Nếu thắng thì phải xin lỗi anh ta và gỡ meme :truongsinh: đang nổi đình nổi đám dạo gần đây (nhưng rồi sẽ đăng lại
). Sau đó, đã thách đố họ một bài toán và nếu ai làm đúng trước sẽ là người chiến thắng , và anh ta cũng sẽ là trọng tài.
có 1 dãy số a vô tận bắt đầu bằng số x và số sau bằng số trước cộng thêm k. Dãy số b vô tận được tạo thành bởi việc lấy 2 chữ số cuối của số ở vị trí tương ứng trong dãy a.
Ví dụ với dãy số a có x = 1 và k = 33 thì ta có dãy a = 1, 34, 67, 100, 133, 166, .... Ta có dãy b tương ứng là 1,34, 67, 0, 33, 66, ...
Yêu cầu: Tính tổng n số đầu tiên trong dãy b.
Input, Output và Subtask
Input
- Nhập vào ba số tự nhiên lần lượt là x, k, n. Mỗi số ghi trên một dòng
Output
- Đưa ra một số tự nhiên là kết quả của bài toán.
Subtask
- Subtask 1 (60\%): 1 \le x, k, n \le 10^3.
- Subtask 2 (40\%): 1 \le x, k, n \le 10^9.
Example
Sample input
1
33
4
Sample output
102
Note
1 + 34 + 67 + 0 = 102.
TLEOJ Contest #10 - Thao Tác Bit
Tại lớp học về bit, có nhiệm vụ là giải 1 bài toán như sau:
- Cho một dãy, mỗi thao tác bạn có thể hoán đổi bit thứ k của a_i và a_j.
- Bằng các thao tác trên, giá trị chênh lệch lớn nhất giữa 2 phần tử của dãy a là bao nhiêu.
đã có thuật toán cho riêng mình còn bạn thì sao.
Input, output và Subtask
Input
- Dòng đầu tiên nhập t (1 \leq t \leq 100)
- Sau đó là t block được định dạng như sau:
- Dòng đầu sẽ là n số lượng phần tử của mảng a (1 \leq n \leq 1000).
- Dòng tiếp gồm n số nguyên a_i (0\le a_i<2^{30}).
Output
- Gồm t dòng mỗi dòng là kết quả của các truy vấn.
Example
Input
4
3
1 0 1
4
5 5 5 5
5
1 2 3 4 5
7
20 85 100 41 76 49 36
Output
1
0
7
125
TLEOJ Contest #10 - Nước Cam
Sau khi đá bóng, chinhoangmanutd đã rất khát nước. Sau đó anh ấy đi đến quầy nước cam với t đồng trong người.
Tại quầy bán nước cam, có 2 loại chai:
- Chai nhựa với mức giá là x
- Chai thủy tinh với mức giá là y
- Vì chai thủy tinh có thể tái chế được nên là có thể bán lại cho quán với mức giá là z
Nhiệm vụ của bạn là tính số chai lớn nhất mà chinhoangmanutd có thể mua với t đồng trên. Và bạn sẽ phải xử lí q trường hợp như vậy.
Input, Output và Subtask
Input
- Dòng đầu tiên số nguyên dương q (1\le q\le10^5)
- Gồm q dòng có các số nguyên t,x,y,z (1\le t,x,z,y\le 10^9;z<y)
Output
- Xuất ra q dòng, mỗi dòng gồm duy nhất 1 số là số chai lớn nhất mua được.
Subtask
- Subtask 1 (20\% số điểm): q\le 100;1\le t,x,y,z\le 1000.
- Subtask 2 (30\% số điểm): q\le 1000;1\le t,x,y,z\le 10^6.
- Subtask 3 (50\% số điểm): Không có giới hạn gì thêm
Example
Test 1
Input
1
30 6 10 8
Output
12
TLEOJ Contest #10 - Dãy con chính phương
Trong thủ đô Penguin có n ngôi nhà, ngôi nhà thứ i có mã định danh là a_i. Sau khi đi dạo trong thủ đô, thị trưởng chinhoangmanutd nhận thấy các ngôi nhà không được đẹp nên nhờ kiểm tra xem có bao nhiêu dãy nhà liên tiếp có tổng mã định danh là một số chính phương để chinhoangmanutd đầu tư và nâng cấp. Sau khi tìm được kết quả, vui vẻ mang kết quả đến cho thị trưởng chinhoangmanutd nhưng do mãi xem màn trình diễn ảo thuật chinh chong nên cậu đã quên mất kết quả là bao nhiêu. Bạn hãy giúp tìm lại kết quả đó nhé.
Input, Output và Subtask
Input
- Dòng đầu tiên là số nguyên dương n (1 \le n \le 10^5).
- Dòng tiếp theo là dãy a gồm n phần tử a_1, a_2, ..., a_n (1 \le a_i \le 10^2).
Output
- Gồm 1 dòng duy nhất là kết quả thỏa mãn.
Subtask
- Subtask 1 (50\%): 1 \le n \le 100.
- Subtask 2 (50\%): Không có giới hạn gì thêm.
Example
Input
4
7 5 4 9
Output
5
Note
- Có 5 dãy có tổng là số chính phương là [4], [9], [5, 4], [7, 5, 4], [7, 5, 4, 9].
Tình bạn ...
Đây là một câu chuyện không có thật ...
và mondellbit009 là 1 đôi bạn vô cùng thân thiết bởi cả 2 đều có chung chỉ hướng và tính cách cũng khá phù hợp với nhau. Hằng ngày, và mondellbit009 đều nhắn tin, đi chơi với nhau để giải tỏa và tâm sự, thấu hiểu nhau. Rồi bỗng đến một ngày, khi nhắn tin rủ mondellbit009 thì cậu chỉ nhận lại 1 dòng tin nhắn "T ghét m rồi, đừng nhắn cho t nữa." Khi đọc xong dòng tin nhắn ấy trở nên tuyệt vọng và rồi đi tìm lý do tại sao cậu lại tự nhiên bị ghét. Vì đã chơi với nhau lâu nên việc thiếu mondellbit009 đối với bây giờ không khác gì 1 sự sụp đổ cả. Lúc ấy chợt nhận ra rằng mình đã thích mondellbit009 từ lúc nào không hay. Thế là liền trở nên trầm cảm, buồn bã và thường xuyên uống rượu bia (không cồn) để giải tỏa nhưng cũng không khá hơn bao nhiêu.
Như mọi khi, ngồi trong quán nhậu uống vài cốc bia. Bỗng từ đâu, một ông lão với thân hình gầy gò bước đến và xin cậu một chút tiền để sống qua ngày. Dù có trầm cảm như vậy nhưng rồi cũng quyết định cho ông lão 60 tỷ. Sau đó, ông lão liền cảm ơn và rồi biến thành 1 ông bụt. thấy thế vô cùng ngạc nhiên nhưng rồi cũng mặc kệ. Nhận ra được lý do sao buồn, ông bụt quyết định ban tặng cho 69 điều ước nếu cậu có thể giải được bài toán sau.
Nội dung bài toán
Hàm D(n) là một hàm được định nghĩa như sau.
def D(n) {
count = 0, sum = 0, prod = 1
for (i = 1, i <= n, i = i+1) {
if (n%i == 0) {
count = count+1, sum = sum+i, prod = prod*i
}
}
return count, sum, prod
}
Cho số nguyên dương n, nhiệm vụ của bạn là tính D(n). Chúc bạn may mắn nhé.
Vì tâm trạng không được ổn nên đã quyết định từ bỏ cơ hội. Nhưng khi cậu nghĩ tới những kỉ niệm đẹp giữa cậu và mondellbit009, cậu liền đồng ý thử thách của ông bụt. Tuy nhiên bài toán quá khó khiến cậu không tài nào giải được. Là một con người tốt bụng, bạn hãy giúp nhé.
Input, Output and Scoring
Input
- Số nguyên dương n.
Output
- In ra cả 3 kết quả sau khi chia lấy dư cho 10^9+7.
Scoring
- Subtask 1 (20\%): 1 \le n \le 10^{12}.
- Subtask 2 (80\%): 1 \le n \le 10^{18}.
Example
Input
69
Output
4 96 4761
Robocon (HSG12 QT 2023)
Nhằm tăng cường các hoạt động giáo dục STEM, nhà trường tổ chức 1 trò chơi Robocon dành cho học sinh đam mê công nghệ. Ban tổ chức đặt ra luật chơi như sau:
Luật
- Trên 1 lưới ô vuông có kích thước m * n, các hàng được đánh số từ 1 đến m từ trên xuống dưới và các cột được đánh số từ 1 đến n từ trái sang phải.
- Để thắng được trong trò chơi, đội chơi phải điều khiển con robot của mình di chuyển trong các ô trên lưới, xuất phát từ ô (1,1) kết thúc ở ô (m,n).
- Mỗi bước robot chỉ được di chuyển sang bên phải hoặc xuống dưới, tức là nếu robot ở ô (i,j) thì chỉ di chuyển được đến (i,j+1) hoặc (i+1,j)
- Để tăng độ khó BTC quyết định đặt k trướng ngại vật ở ô (i,j) và robot không thể vào ô này.
mondellbit009 và các bạn cùng chơi trò chơi này và muốn thắng, Nên phải xác định các hành trình để về đích.
Yêu cầu:Hãy xác định số hành trình khác nhau để robot có thể về đích theo module 10^9+7. 2 hành trình khác nhau khi có ít nhất 1 ô (i,j) của hành trình này không thuộc hành trình khác.
Input, output và Subtask
Input(ROBOCON.INP)
- Dòng đầu tiên gồm 3 số nguyên m,n và k (n,m\le10^6,K\le2*10^3).
- k dòng tiếp theo, mỗi dòng gồm 2 số nguyên x,y là vị trị có trướng ngại vật.
- dữ liệu đảm bảo ô (1,1) và ô (m,n) không có trướng ngại vật
Input(ROBOCON.OUT)
- In ra tệp ROBOCON.OUT là kết quả của bài toán
Scoring
- Subtask 1 (40\%): 1\le n, m, k \le 1000.
- Subtask 2 (20\%): số điểm 1\le n, m\le 10^5; k = 0.
- Subtask 3 (20\%) số điểm 1\le n, m \le10^5; k = 1.
- Subtask 4 (20\%) số điểm không có giới hạn gì thêm.
Example
Input(ROBOCON.INP)
3 3 2
1 2
3 1
Output(ROBOCON.out)
2
Đếm số chia hết (HSG12 QT 2023)
Cho số nguyên K và m số nguyên a_1,a_2,....a_m.
Yêu cầu: đếm số lượng số nguyên nhỏ hơn K và chia hết cho ít nhất 1 số trong mảng a.
Input, output và Subtask
Input(CHIAHET.INP)
- Dòng đầu tiên gồm 2 số nguyên K và m (m\le15,K\le10^9).
- Dòng thứ hai là chiều cao của n cây A_1,A_2,A_3,...,A_m (A_i\le10^9).
Output(CHIAHET.OUT)
- In ra kết quả của bài toán
Scoring
- Subtask 1:30\% số điểm 1\le K\le10^6 , 1\le m \le 2.
- Subtask 2:30\% số điểm 1\le K\le10^6 , 1\le m \le 15.
- Subtask 3:40\% số điểm không có giới hạn gì thêm.
Example
Input(CHIAHET.INP)
10 2
2 3
Output(CHIAHET.INP)
7
Note
- Các số đó là 2,3,4,6,8,9,10.
Mật khẩu an toàn (HSG12 QT 2023)
Một xâu kí tự được coi là mật khẩu "an toàn" nếu thỏa mãn:
- Có độ dài ít nhất là 6.
- Có ít nhất một chữ cái tiếng Anh in thường (a...z).
- Có ít nhất một chữ cái tiếng Anh in thường (A...Z).
- Có ít nhất một kí tự số thập phân (0...9).
Yêu cầu: cho 1 xâu S đếm số lượng xâu con liên tiếp của S là mật khẩu an toàn.
Input, output và Subtask
Input(MATKHAU.INP)
- Gồm 1 dòng duy nhất chứa xâu S.
Output(MATKHAU.INP)
- in ra số lượng xâu con thỏa mãn.
Scoring
- Subtask 1: 50\% số điểm độ dài xâu S nhỏ hơn 500.
- Subtask 2: 30\% số điểm độ dài xâu S nhỏ hơn 2*10^5.
- Subtask 3: 20\% số điểm độ dài xâu S nhỏ hơn 2*10^6.
Example 1
Input(MATKHAU.INP)
12Aabcde
Output(MATKHAU.INP)
5
Example 2
Input(MATKHAU.INP)
Ab12Ab12Ab
Output(MATKHAU.INP)
15
Bedan Contest #01 - C - Nhảy lò cò
Vì trời mưa liên tục những ngày nay nên chỉ có thể ở nhà mà không thể ra ngoài đường để chơi. Vì vậy quyết định rủ bạn bè đến nhà chơi nhảy lò cò 
Trò chơi bắt đầu với một dãy gồm n ô, ô ở vị trí pos sẽ có số điểm là a_{pos}. có tổng cộng n lượt chơi và tại lượt thứ i, cậu sẽ nhảy lên i ô trong n ô trên. Với mỗi bước nhảy, có thể nhảy đến một ô bất kì với điều kiện là vị trí ô cậu nhảy đến phải lớn hơn vị trí ô mà trước đó cậu đứng. Số điểm của mỗi lượt chơi sẽ là số nguyên dương m lớn nhất thỏa mãn P chia hết cho 10^m với P là tích của số điểm của các ô mà nhảy lên trong lượt chơi đó.
Người chiến thắng sẽ là người có tống số điểm sau n lượt chơi là cao nhất và muốn giành được chiến thắng. Tuy nhiên với mỗi lượt chơi, số lượng cách nhảy quá nhiều khiến cậu không biết phải làm như thế nào. Bạn hãy tính giúp số điểm tối đa cậu ấy có thể đạt được là bao nhiêu nhé.
Input, Output and Scoring
Input
- Hai nguyên dương n (1 \le n \le 100).
- Dãy a gồm n phần tử a_1, a_2, ..., a_n (1 \le a_i \le 100).
Output
- In ra kết quả thỏa mãn.
Scoring
- Subtask 1 (20\%): 1 \le n \le 20.
- Subtask 2 (80\%): Không giới hạn gì thêm.
Example
Input
3
2 5 10
Output
4
Note
- Tại lượt chơi 1, có thể nhảy vào ô thứ 3 để có số điểm là 1.
- Tại lượt chơi thứ 2, có thể nhảy vào ô thứ 1, 2 để có số điểm là 1.
- Tại lượt chơi thứ 3, có thể nhảy vào ô thứ 1, 2, 3 để có số điểm là 2.
- Tổng số điểm của các lượt chơi trên là 4, dễ dàng thấy đây là số điểm lớn nhất mà có thể đạt được.
Bedan Contest #01 - B - Trò chơi với bi
Quá rảnh rỗi, nhớ lại hồi cậu đi chơi ở công viên Châu Phi. Hồi đó, cậu và cô người yêu của cậu vẫn còn yêu nhau say đắm. Một ký ức đẹp như vậy làm chìm đắm vào nó. Bỗng cậu nhớ có một trò chơi đã hại não của cậu và cả cô người yêu của cậu khiến cho cậu vẫn còn ám ảnh đến bây giờ. Trò chơi ấy có nội dung như sau.
Nội dung trò chơi
Cho 1 dãy bi gồm n viên bi, viên thứ i có số điểm là a_i. Bạn sẽ có m lượt chơi và tại mỗi lượt, bạn phải loại bỏ một số viên bi trong đoạn [l, r] sao cho độ đẹp của các viên bi còn lại của đoạn [l, r] là lớn nhất.
Độ đẹp của một dãy a gồm n viên bi được định nghĩa là a_1 - a_2 + a_3 - ... + (-1)^{n-1} \times a_n.
bỗng nhớ lại sự đau đơn khi trò chơi ấy. Bạn có vẻ rảnh rỗi như nên cậu ấy muốn bạn thử sức với trò chơi này. Bạn hãy đồng ý và thử sức nhé.
Input, Output and Scoring
Input
- Hai nguyên dương n, m (1 \le n, m \le 10^5).
- Dãy a gồm n viên bi với các số điểm a_1, a_2, ..., a_n (1 \le a_i \le 10^9).
- m dòng tiếp theo, mỗi dòng gồm 2 số nguyên dương l, r (1 \le l \le r \le n).
Output
- Với mỗi lần chơi, hãy in ra độ đẹp của các viên bi lớn nhất có thể của đoạn [l, r].
Scoring
- Subtask 1 (10\%): 1 \le n, m \le 20.
- Subtask 2 (30\%): 1 \le n, m \le 10^3.
- Subtask 3 (60\%): Không giới hạn gì thêm.
Example
Input
5 2
1 4 2 3 9
1 4
2 5
Output
5
11
Note
- Ở lượt chơi 1, ta có thể loại bỏ viên bi thứ 1 của đoạn [1, 4]. Độ đẹp của các viên bi là 4-2+3 = 5.
- Ở lượt chơi 2, ta có thể loại bỏ viên bi thứ 3 của đoạn [2, 5]. Độ đẹp của các viên bi là 4-2+9 = 11.
Bedan Contest #01 - A - Cặp số Fibo
Dãy số Fibo là 1 dãy số có quy luật như sau:
- F_1 = F_2 = 1.
- F_n = F_{n-1}+F_{n-2} với n > 2.
Cho dãy a gồm n phần tử, một cặp chỉ số (i, j) được gọi là cặp số Fibo nếu nó thỏa mãn:
- 1 \le i \le j \le n.
- a_i+a_{i+1}+...+a_j là 1 số Fibo.
Nhiệm vụ của bạn là đếm số lượng cặp số Fibo (i, j) của dãy a.
Input, Output and Scoring
Input
- Số nguyên dương n (1 \le n \le 10^5).
- Dãy a gồm n phần tử a_1, a_2, ..., a_n (1 \le a_i \le 10^5).
Output
- In ra kết quả thỏa mãn.
Scoring
- Subtask 1 (20\%): 1 \le n \le 10^3.
- Subtask 2 (80\%): Không giới hạn gì thêm.
Example
Input
4
2 7 4 3
Output
3
Note
- Có 3 cặp số Fibo là (1, 1), (1, 3), (4, 4).
Dãy số Sussy
Hãy chú ý đến con số 2^{32}-3 nhé.
Dãy số Fibonacci là dãy số có quy luật như sau.
- F_1 = F_2 = 1.
- F_n = F_{n-1} + F_{n-2} với n > 2.
Một vài số đầu tiên của dãy số trên là 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ....
cũng có 1 dãy số có quy luật khá tương tự dãy số trên và cậu đặt tên là Dãy số Sussy. Dãy số ấy có quy luật như sau:
- S_1 = 69; S_2 = 420.
- S_n = S_{n-1} + S_{n-2} + S_{n-1} \times S_{n-2} với n > 2.
cho có t số nguyên dương n và cậu ấy muốn biết S_n mod 2^{32}-3 có giá trị là bao nhiêu, bạn hãy tính giúp nhé.
Sự thật thú vị
- Với n > 2, S_n sẽ có F_{n-2} chữ số 9 ở cuối. Phần chứng minh cho điều này thì mời bạn.
Input, Output and Scoring
Input
- Số nguyên dương t (1 \le t \le 10^5).
- t dòng tiếp theo, mỗi dòng gồm 1 số nguyên dương n (1 \le n \le 10^{18}).
Output
- Với mỗi dòng, hãy in ra kết quả thỏa mãn.
Scoring
- Subtask 1 (20\%): 1 \le n \le 10^6.
- Subtask 2 (80\%): Không giới hạn gì thêm.
Example
Input
4
1
2
3
4
Output
69
420
29469
12406869
Note
- 5 số đầu tiên của dãy số Sussy là 69, 420, 29469, 12406869, 365630458899.
Python Basic Contest #01 - Đếm số nguyên tố trên đoạn (Python only)
Bạn được cho hai số nguyên dương (l, r). Bạn cần đếm số lượng số nguyên tố trong đoạn [l, r].
Input, Output và Subtask
Input (bàn phím)
- Một dòng duy nhất gồm hai số nguyên dương l, r (l, r \le 10^{12}, r - l \le 10^6).
Output (màn hình)
- Một dòng duy nhất gồm số lượng số nguyên tố trong đoạn [l, r].
Subtask
| Tỉ lệ điểm (%) | Giới hạn |
|---|---|
| 20 | l = 1, r \le 1000 |
| 20 | l = 1, r \le 4 \times 10^4 |
| 20 | l = 1 |
| 20 | r - l \le 2000 |
| 10 | r - l \le 10^5 |
| 10 | Không có giới hạn gì thêm |
Sample 1
Input (bàn phím)
8 20
Output (màn hình)
4
Notes
- Các số nguyên tố trong đoạn [8, 20] là 11, 13, 17, 19.
Sample 2
Input (bàn phím)
1 100
Output (màn hình)
25
Python Basic Contest #01 - Đếm số nguyên tố trên đoạn
Bạn được cho hai số nguyên dương (l, r). Bạn cần đếm số lượng số nguyên tố trong đoạn [l, r].
Input, Output và Subtask
Input (bàn phím)
- Một dòng duy nhất gồm hai số nguyên dương l, r (l, r \le 10^{12}, r - l \le 10^6).
Output (màn hình)
- Một dòng duy nhất gồm số lượng số nguyên tố trong đoạn [l, r].
Subtask
| Tỉ lệ điểm (%) | Giới hạn |
|---|---|
| 20 | l = 1, r \le 1000 |
| 20 | l = 1, r \le 4 \times 10^4 |
| 20 | l = 1 |
| 20 | r - l \le 2000 |
| 10 | r - l \le 10^5 |
| 10 | Không có giới hạn gì thêm |
Sample 1
Input (bàn phím)
8 20
Output (màn hình)
4
Notes
- Các số nguyên tố trong đoạn [8, 20] là 11, 13, 17, 19.
Sample 2
Input (bàn phím)
1 100
Output (màn hình)
25
Số tuổi
Nhiệm vụ: Rất đơn giản, hãy tính số tuổi của người có năm sinh là n.
Input and Output
Input
- Nhập n.
Output
- In ra một dòng là yêu cầu của bài.
Python Basic Contest #01 - Tổng các tích (Python only)
Bạn được cho một dãy số nguyên dương a_1, a_2, ..., a_n. Bạn hãy tính tổng các tích của các dãy con liên tiếp khác rỗng của dãy số trên, hay nói cách khác, hãy tính tổng các giá trị a_l \times a_{l + 1} \times ... \times a_r với mọi 1 \le l \le r \le n.
Input, Output và Subtask
Input (bàn phím)
- Dòng đầu tiên gồm số nguyên dương n (n \le 10^5).
- Dòng tiếp theo gồm n số nguyên dương a_i (a_i \le 10^9).
Output (màn hình)
- Một dòng duy nhất là kết quả bài toán. Vì kết quả có thể rất lớn nên bạn chỉ cần in ra phần dư của nó khi chia cho 10^9 + 7.
Subtask
| Tỉ lệ điểm (%) | Giới hạn |
|---|---|
| 40 | n \le 10^2 |
| 40 | n \le 10^3 |
| 20 | n \le 10^5 |
Sample 1
Input (bàn phím)
3
1 2 3
Output (màn hình)
20
Notes
- Kết quả của bài toán là 1 + 2 + 3 + 1 \times 2 + 2 \times 3 + 1 \times 2 \times 3 = 20.
Sample 2
Input (bàn phím)
5
1 2 3 4 5
Output (màn hình)
409