Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 14

MỘT SỐ BÀI TẬP ÔN LUYỆN (LUYỆN ĐỀ)

1 - Khuyến mại
Nhà sách đang có chương trình khuyến mại "Mua ba cuốn sách, chỉ tính tiền hai cuốn đắt
nhất".
An đang muốn mua n cuốn sách. Hãy giúp bạn ấy mua với số tiền ít nhất có thể bằng cách tận
dụng chương trình khuyến mãi trên.
Ví dụ, với n=4 cuốn sách có giá lần lượt là: (5, 1, 3, 2) thì An sẽ phải trả số tiền ít nhất là 9 bằng
cách mua ba cuốn (5, 3, 2) với giá là 8 sau đó mua nốt cuốn sách (1).
Input
Dòng 1: ghi số nguyên n (1≤n≤100.000), số lượng sách An cần mua;
Tiếp theo là n dòng, mỗi dòng ghi một số nguyên Ci (1≤ Ci ≤100.000), ứng với giá của các cuốn
sách.
Output
Một số nguyên duy nhất là kết quả của bài toán

Input 1 Output 1 Input 2 Output 2


4 8 6 21
3 6
2 4
3 5
2 5
5
5

2 - Góc phần tư
Một trong những vấn đề phổ biến trong toán học là xác định một điểm thuộc góc phần tư nào.
Có bốn góc phần tư được đánh số từ 1 đến 4, như hình dưới đây:

Trong hình, điểm A có tọa độ (12, 5) thuộc góc phần tư thứ 1, còn điểm B thuộc góc phần tư thứ
2.
Cho tọa độ của một điểm, hãy xác định xem điểm này thuộc góc phần tư thứ mấy. Biết rằng cả
tung độ và hoành độ của điểm đã cho đảm bảo khác 0.
Input
- Dòng 1 ghi số nguyên x (-1000≤x≤1000; x!=0).
- Dòng 2 ghi số nguyên y (-1000≤y≤1000; y!=0).
Output
Ghi ra số (1, 2, 3 hoặc 4) mô tả góc phần tư chứa điểm có tọa độ (x, y).

Input 1 Output 1 Input 2 Output 2


10 1 9 4
6 -13

3 - Trò chơi nhặt sỏi


Alice và Bob đang chơi trò chơi nhặt sỏi. Có N hòn sỏi được đặt thẳng hàng trên mặt đất. Các
hòn sỏi được đánh số từ 1 đến N.
Tới lượt ai đi, người đó sẽ chọn hai hòn sỏi liên tiếp rồi thả vào thùng. Tức là người chơi sẽ
chọn hòn sỏi thứ i và hòn sỏi thứ i+1, với mọi 1 ≤ i ≤ N−1. Trò chơi kết thúc khi không thể chọn
hai hòn sỏi liên tiếp nữa. Lúc này, nếu số sỏi còn lại trên mặt đất là lẻ thì Alice thắng, ngược lại
thì Bob thắng.
Giả sử cả hai bạn đều biết cách chơi tối ưu và Alice được đi trước. Hãy cho biết ai là người
chiến thắng.
Input
Dòng 1: ghi số nguyên N (1 ≤ N ≤ 10^7), là số lượng sỏi ban đầu trên mặt đất.
Output
Một dòng duy nhất ghi tên của người chiến thắng, “Alice” hoặc “Bob”.

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


1 Alice 2 Bob 5 Alice

4 - Đồng hồ báo thức


Có một sự kiện sẽ xảy ra vào thời gian H giờ, M phút. Để không bỏ lỡ sự kiện này, Anna muốn
đặt báo thức 45 phút trước khi sự kiện xảy ra. Hãy giúp bạn ấy xác định thời gian để đặt báo thức.
Input
Một dòng duy nhất ghi hai số nguyên H và M (0 ≤ H ≤ 23, 0 ≤ M ≤ 59)
Output
Một dòng duy nhất ghi hai số nguyên biểu diễn thời gian trước khi xảy ra sự kiện 45 phút.

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


10 10 9 25 0 30 23 45 23 40 22 55

5 - Trò chơi FizzBuzz

FizzBuzz là một trò chơi chữ nhóm dành cho trẻ em để dạy chúng về phép chia. Điều này có
thể đúng hoặc có thể không đúng, nhưng câu hỏi này thường được sử dụng để làm khó các sinh
viên tốt nghiệp ngành khoa học máy tính trẻ tuổi trong các cuộc phỏng vấn lập trình.
Về cơ bản, đây là cách hoạt động: bạn in các số nguyên từ 1 đến N, thay thế bất kỳ số nguyên
nào trong số chúng chia hết cho X bằng Fizz hoặc, nếu chúng chia hết cho Y, bằng Buzz. Nếu số
chia hết cho cả X và Y, bạn in FizzBuzz để thay thế.
Đầu vào
Đầu vào chứa một trường hợp thử nghiệm duy nhất. Mỗi trường hợp thử nghiệm chứa ba số
nguyên trên một dòng, X, Y và N (1≤X <Y≤N≤100).
Đầu ra
In các số nguyên từ 1 đến N theo thứ tự, mỗi số trên dòng riêng, thay các số chia hết cho X
bằng Fizz, các số chia hết cho Y bằng Buzz và các số chia hết cho X và Y bằng FizzBuzz.

6 - Mạng Internet
Bờm đã kí hợp đồng với nhà cung cấp mạng Internet của mình. Nhà cung cấp sẽ cho Bờm sử
dụng X megabytes để lướt Web mỗi tháng. Mỗi Megabye không sử dụng hết của tháng này sẽ
được cộng dồn sang tháng tiếp theo.
Bạn được biết mức sử dụng dữ liệu trong N tháng đầu tiên của Bờm, hãy cho biết số
Megabytes mà Bờm được phép sử dụng trong tháng thứ N + 1.
Input
Dòng 1: ghi số nguyên X (1 ≤ X ≤ 100).
Dòng 2: ghi số nguyên N (1 ≤ N ≤ 100).
Tiếp theo là N dòng, mỗi dòng ghi một số nguyên Pi (0≤ Pi ≤ 10.000), là số Megabyte đã được
sử dụng trong N tháng đầu tiên. Các Pi sẽ không vượt quá số Megabyte mà Bờm được phép sử
dụng trong tháng đó (tính cả số Megabyte được cộng dồn).
Output
Một số nguyên duy nhất là kết quả tìm được.

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


10 28 10 16 15 15
3 3 3
4 10 15
6 2 10
2 12 20

7 - Tráo bóng
Trên bàn đang đặt ba chiếc cốc úp ngược tại các vị trí được đánh số từ 1 đến 3 theo hướng từ
trái sang phải. Ban đầu, có một đồng xu được đặt ở cốc ngoài cùng bên trái. Người ta sẽ thực hiện
một chuỗi các thao tác hoán đổi hai chiếc cốc như mô tả dưới đây:
Hãy cho biết sau chuỗi thao tác, đồng xu đang nằm ở vị trí số mấy.
Input
Dòng 1: ghi xâu không quá 50 kí tự mô tả chuỗi thao tác chỉ gồm các chữ cái ‘A’, ‘B’ hoặc
‘C’.
Output
Một số nguyên duy nhất mô tả vị trí của đồng xu sau chuỗi thao tác: 1 nếu nó ở vị trí ngoài
cùng bên trái, 2 nếu nó ở vị trí giữa hoặc 3 nếu nó ở vị trí ngoài cùng bên phải.

Input 1 Output 1 Input 2 Output 2

AB 3 CBABCACCC 1
CBABC 3 CBABCCBABCCBABCCBABCCBABCCCCCBABCABAA 2

8 - Đặt phòng
Bờm được Phú ông giao cho đặt phòng ở một khách sạn có r phòng, được đánh số từ 1 đến r.
Đến nơi, Bờm nhìn thấy danh sách gồm n phòng đã có người đặt trước. Nhiệm vụ của bạn là giúp
Bờm tìm một phòng trống hoặc báo cáo lại cho Phú ông là đến quá muộn, đã hết phòng.
Input
Dòng 1: ghi hai số nguyên r và n (1 ≤ r ≤ 100; 0 ≤ n ≤ r).
Tiếp theo là n dòng, mỗi dòng ghi một số nguyên phân biệt nằm trong khoảng từ 1 đến r mô tả
các phòng đã có người đặt.
Output
Nếu còn phòng trống, ghi số một phòng trống bất kì. Nếu không còn phòng để đặt, ghi “too
late”.
Input 1 Output 1 Input 2 Output 2
100 5 23 33 too late
42 2
3 3
2 1
99
1

Cách khác: Lùa giá trị phòng vào 1 mảng F[i]={0}.


Nếu n>r thì có thể đưa ra 1 phòng khác 0 bất kỳ trong mảng F[i]
Nếu n<=r thì “toolate”
9 - Du lịch
Bờm thường được Phú ông dẫn theo mỗi lần ông đi công tác qua. Mỗi khi kết thúc chuyến đi,
Phú ông thường hỏi Bờm: "Chúng ta đã đi qua bao nhiêu thành phố rồi nhỉ?".
Rất may, Bờm luôn ghi lại tên mỗi thành phố mà hai người họ đã đi qua trong chuyến đi nên
giờ chỉ cần lấy ra và đếm là được. Hãy giúp Bờm đếm xem tại mỗi chuyến công tác, Phú ông và
Bờm đã đi qua bao nhiêu thành phố phân biệt nhé.
Input
Dòng 1: ghi một số nguyên T ≤ 50 là số chuyến đi công tác.
Tiếp theo là mô tả của mỗi chuyến đi công tác gồm: dòng 1 ghi số nguyên dương n (n≤100) là
danh sách các thành phố đã đi qua trong chuyến đi công công tác. Tiếp theo là n dòng, dòng
thứ i ghi tên thành phố thứ i đã đi qua (tên một thành phố có thể được ghi lại nhiều lần). Tên
thành phố là một xâu gồm từ 1 đến không quá 20 chữ cái tiếng Anh viết thường.
Output
Gồm n dòng, mỗi dòng gồm một số nguyên duy nhất là câu trả lời cho chuyến công tác tương
ứng.
Input 1 Output 1
2 4
7 1
saskatoon
toronto
winnipeg
toronto
vancouver
saskatoon
toronto
3
edmonton
edmonton
edmonton

10 - Trạng thái sắp xếp


Cho một danh sách gồm N xâu kí tự. Hãy xác định xem danh sách đã cho đã được sắp xếp
tăng, giảm hay không được sắp xếp.
Input
Dòng 1: ghi số nguyên N, là số lượng xâu (2 ≤ N ≤ 20).
Tiếp theo là N dòng, mỗi dòng ghi một xâu gồm không quá 12 kí tự chữ cái tiếng Anh viết
hoa. Các xâu này là đôi một phân biệt.
Output
Một dòng duy nhất ghi: INCREASING nếu danh sách đã sắp xếp tăng, DECREASING nếu
dãy đã cho sắp xếp giảm, trường hợp còn lại ghi NEITHER.

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


5 DECREASING 11 NEITHER 4 INCREASING
JOE HOPE GEORGE
BOB ALI JOHN
ANDY BECKY PAUL
AL JULIE RINGO
ADAM MEGHAN
LAUREN
MORGAN
CARLI
MEGAN
ALEX
TOBIN

11 - Tổng bằng 100


Cho 9 số nguyên. Hãy xóa bớt 2 số trong đó để được tổng của các số còn lại đúng bằng 100.
Input
Gồm 9 dòng, mỗi dòng ghi một số nguyên có giá trị nằm trong đoạn từ 1 đến 99.
Các số nguyên này đôi một phân biệt.
Dữ liệu vào luôn đảm bảo tồn tại ít nhất một đáp án.
Output
Ghi trên 7 dòng, mỗi dòng là một số còn lại sau khi xóa bớt 2 số từ 9 số đã cho. Thứ tự các số
phải được giữ nguyên như dữ liệu vào.

Input 1 Output 1
7 7
8 8
10 10
13 13
15 19
19 20
20 23
23
25

12 - Truy vấn phần tử 2D


Cho một bảng kích thước n×n. Người ta sẽ điền các số từ 1 đến n2 vào bảng theo cách như
sau: đầu tiên, điền [n2/2] số từ 1 đến [n2/2] vào các ô có tổng tọa độ hàng và cột là chẵn (hàng và
cột đánh số từ 1, điền từ trái sang phải, từ trên xuống dưới). Sau đó, n 2-[n2/2] số còn lại
từ [n2/2] +1vào các ô có tổng tọa độ là lẻ cũng theo thứ tự từ trái sang phải, từ trên xuống dưới. Ở
đây, kí hiệu [x/y] trả về số nguyên nhỏ nhất lớn hơn kết quả của phép chia x cho y.
Hình dưới đây là mô tả cho bảng với kích thước n=4 và n=5.

Bạn sẽ phải trả lời q truy vấn. Truy vấn thứ i gồm hai số nguyên xi, yi yêu cầu cho biết số
nguyên ghi ở ô có tọa độ xi, yi là bao nhiêu?
Input
Dòng 1: ghi hai số nguyên n và q (1≤ n ≤ 109, 1 ≤ q ≤ 105) - kích thước của bảng và số truy vấn
cần trả lời.
Tiếp theo là q dòng. Dòng thứ i ghi hai số nguyên xi, yi (1 ≤ xi, yi ≤ n) - mô tả truy vấn thứ i.
Output
Ghi trên q dòng, mỗi dòng gồm một số nguyên là câu trả lời cho truy vấn tương ứng.
Input Output
45 1
11 8
44 16
43 13
32 4
24
13 - Điểm nằm trong HCN
Trong mặt phẳng tọa độ Oxy, cho hình chữ nhật được xác định bởi hai số nguyên n và d có tọa
độ bốn đỉnh tương ứng là (0, d), (d, 0), (n, n - d), (n−d, n).

Hình 1: ví dụ về hình chữ nhật với n = 7 và d = 2.

Cho tọa độ của m điểm, điểm thứ i có tọa độ (xi, yi). Với mỗi điểm đã cho, hãy xác định xem
nó nằm trong hình chữ nhật (bao gồm cả nằm trên cạnh) hay nằm ngoài hình chữ nhật.
Input
Dòng 1: ghi hai số nguyên n và d (1≤d<n≤100).
Dòng 2: ghi một số nguyên m (1≤m≤100).
Tiếp theo là m dòng, dòng thứ i ghi hai số nguyên xi, yi (0≤xi, yi≤n).
Output
Ghi trên m dòng. Dòng thứ i ghi "YES" nếu điểm thứ i nằm trong hình chữ nhật (bao gồm cả
viền). Ngược lại, ghi "NO".
Giải thích: Hình 1 ở trên minh họa cho ví dụ 1, điểm 1 (tọa độ (2, 4)) và điểm 4 (tọa độ (4, 5))
nằm trong hình chữ nhật. Hai điểm còn lại nằm ngoài hình chữ nhật.

Input 1 Output 1
72
4
24 YES
41 NO
63 NO
45 YES
Input 2 Output 2
87
4
44 YES
28 NO
81 YES
61 YES

14 - Cắt gạch
Bờm có một viên gạch hoa hình vuông có cạnh dài a centimet. Anh ấy đang cần phải lát nó
vào một vị trí cũng hình vuông nhưng độ dài cạnh là b centimet (b<a). Bờm quyết định sẽ cắt lại
viên gạch này để vừa với vị trí cần lát (xem hình minh họa phía dưới). Sau khi cắt, Bờm sẽ có hai
mảnh gạch một hình vuông có cạnh b cemtimet và một hình chữ L.
Phú ông đố Bờm biết diện tích của mảnh gạch hình chữ L có phải là một số nguyên tố hay
không. Hãy giúp Bờm trả lời câu hỏi của Phú ông nhé.
Input
Dòng 1: ghi số nguyên t (1≤t≤5) - là số truy vấn.
Tiếp theo là t dòng, dòng thứ i mô tả truy vấn thứ i gồm hai số nguyên a và b (1≤b<a≤1011) .
Output
Ghi trên t dòng, dòng thứ i tương ứng với câu trả lời cho truy vấn thứ i ghi "YES" nếu diện
tích mảnh gạch hình chữ L sau khi cắt có diện tích là một số nguyên tố, ngược lại ghi "NO".
Input Output
4
65 YES
16 13 NO
61690850361 24777622630 NO
34 33 YES
Giải thích: Hình dưới đây mô tả ví dụ thứ nhất. Phần gạch đỏ là mảnh hình chữ L sau khi cắt.
Diện tích của phần này là 62 - 52 = 36 - 25 = 11, là một số nguyên tố nên câu trả lời là "YES".

15 - Ô chia hết cho M


Cho một lưới kích thước n×n ô vuông. Hàng và cột được đánh số từ 1 đến n.
Ô (i, j) ghi số nguyên có giá trị là (i2+j2).
Cho số nguyên m. Hỏi trong bảng đã cho, có bao nhiêu số chia hết cho m?
Input
Một dòng duy nhất ghi hai số nguyên n và m (1 ≤ n ≤ 109, 1 ≤ m ≤ 1000).
Output
Một số nguyên duy nhất là kết quả tìm được.
Input Output
33 1
Giải thích:
Trong input, chỉ có ô ở vị trí (3, 3) có giá trị là 3^2 + 3^2 = 18, là chia hết cho m=3.

16 - Nhân rồi chia căn


Cho số nguyên n, bạn có thể thực hiện mỗi thao tác sau 0 hoặc nhiều lần:
 mul x: tăng n lên x lần (với x là một số nguyên dương bất kì).
 sqrt: thay n bằng sqrt(n) (chỉ áp dụng thao tác này nếu sqrt(n) là một số nguyên).
Giá trị nhỏ nhất có thể đạt được của n là bao nhiêu, cần ít nhất bao nhiêu thao tác để đạt được giá
trị nhỏ nhất ấy?
Input
Một số nguyên duy nhất n (1≤n≤106).
Output
Ghi trên một dòng hai số nguyên: giá trị nhỏ nhất có thể đạt được của n và số thao tác ít nhất để
đạt được giá trị nhỏ nhất ấy.
Ví dụ mẫu:
Input Output
20 10 2
28 14 2
30 30 0
Giải thích: Trong ví dụ 1, bạn có thể thực hiện thao tác nhân: 20×5=100 sau đó thực hiện chia
căn sqrt(100) = 10.
17 - Số gần hoàn hảo
Một số nguyên P được gọi là hoàn hảo nếu tổng của tất cả các ước nhỏ hơn P đúng bằng P. Số
hoàn hảo rất hiếm nên người ta mở rộng thêm một định nghĩa nữa về số gần như hoàn hảo.
Một số nguyên P được gọi là gần như hoàn hảo nếu tổng của tất cả các ước nhỏ hơn P hơn
kém P không quá 2. Ví dụ, số 4 có tổng các ước nhỏ hơn nó là 1 + 2 = 3 nên nó là số gần hoàn
hảo vì |3-4|=1.
Cho N số nguyên. Với mỗi số, hãy xác định xem nó hoàn hảo, gần như hoàn hảo hay không
hoàn hảo.
Input
Gồm N (0<N<500) dòng (kết thúc khi hết số) mỗi dòng ghi một số nguyên X (2 ≤ X ≤ 109).
Output
Ghi trên N dòng, mỗi dòng ghi nhận định về số nguyên tương ứng: “Perfect”, “Almost Perfect”
hoặc “Not perfect”.
Input 1 Ouput 1
6 6 perfect
65 65 not perfect
650 650 almost perfect
18 - Chia chuỗi
Cho số nguyên N. Hãy tìm dãy nhiều phần tử nhất các số nguyên A1, A2,⋯, Ak sao
cho Ai+1 chia hết cho Ai và 1 ≤ Ai ≤ N (∀i, 1≤ i ≤ k−1).
Input
Một số nguyên duy nhất N (1≤N≤106);
Output
Dòng 1: ghi số nguyên k.
Dòng 2: ghi k số nguyên A1, A2,⋯, Ak theo thứ tự tăng dần.
Input 1 Output 1
6 3
1 3 6 hoặc 1 2 4 (chỉ xét dãy chẵn hoặc lẻ thôi.)
19 - Trò chơi với danh sách
Bạn đang chơi một trò chơi đơn giản như sau:
 Người chơi thứ nhất ghi ra một số nguyên X.
 Người chơi thứ hai viết ra một dãy các số nguyên Y1,Y2,⋯Yk sao cho (Y1+1) × (Y2+1) ×
(Yk+1)=X và nhận được k điểm.
Hãy viết chương trình xác định giúp người chơi thứ hai xem anh ta có thể nhận được nhiều nhất
là bao nhiêu điểm.
Input
Dòng 1: ghi số nguyên X (103 ≤ X ≤ 109).
Output
Một số nguyên duy nhất là kết quả tìm được.
Input 1 Output 1
65536 16
20 - Sàng nguyên tố (limit)
Trong bài này ta phải sử dụng kĩ thuật sàng số nguyên tố để trả lời Q truy vấn. Chi tiết ở phần
mô tả dữ liệu vào / ra.
Input
Dòng 1: ghi hai số nguyên N,Q (1≤N≤108, 1≤Q≤2×104);
Tiếp theo là Q dòng, mỗi dòng ghi một số nguyên x (1≤x≤n).
Output
Dòng 1: ghi số lượng số nguyên tố nhỏ hơn hoặc bằng N.
Tiếp theo là Q dòng, dòng thứ i là câu trả lời cho truy vấn thứ i: ghi 1 nếu số nguyên đã cho là
số nguyên tố, ghi 0 nếu số nguyên đã cho là hợp số.
Input 1 Output 1
9973 6
1 1229
2 0
3 1
4 1
9972 0
9973 0
1
21 - Lũy thừa hoàn hảo
Ta gọi số nguyên x là bình phương hoàn hảo nếu tồn tại một số nguyên b sao cho x = b2.
Tương tự, x gọi là lập phương hoàn hảo nếu tồn tại số nguyên b mà x = b3. Một cách tổng quát, ta
gọi x là lũy thừa p hoàn hảo nếu tồn tại số nguyên b mà x = bp.
Cho số nguyên x, hãy xác định p lớn nhất sao cho x là lũy thừa p hoàn hảo.
Input
Gồm nhiều dòng, mỗi dòng ghi một số nguyên x (2≤∣x∣≤231-1). Dòng cuối cùng ghi số 0.
Output
Với mỗi số x đã cho, ghi câu trả lời tương ứng trên một dòng.
Input 1 Output 1
-17 1
1073741824 30
25 2
0

Giải thích: -17 = -171


1073741824 = 230
25=52
22 - Bài 1
Hãy cho biết cần dùng ít nhất bao nhiêu hình vuông kích thước a×a phủ hết diện tích của
một hình chữ nhật kích thước n×m (chỉ cần phủ hết là được, thừa cũng được). Các cạnh của hình
vuông phải song song với các cạnh của hình chữ nhật.
Input
Một dòng duy nhất ghi ba số nguyên n, m, a (1 ≤ n, m, a ≤ 109).
Output
Một số nguyên duy nhất là kết quả tìm được.
Ví dụ mẫu:
Input Output
554 4
23 - Bài 2
Cho dãy gồm n số nguyên phân biệt a1,a2,⋯,an. Xác định xem có thể làm cho dãy trở
thành đã sắp xếp tăng dần bằng cách thực hiện đúng một lần đảo ngược một đoạn của dãy đã cho
hay không.
Input
Dòng 1: ghi số nguyên n (1≤ n ≤105);
Dòng 2: ghi n số nguyên a1,a2,⋯,an (1≤ ai ≤109);
Output
Dòng 1: Ghi "Yes" nếu có thể, ngược lại ghi "No";
Dòng 2: nếu dòng 1 là "Yes" thì dòng 2 ghi hai số nguyên l,r mô tả đoạn cần đảo. Nếu có nhiều
cách thì in bất kì cách nào cũng được. Nếu dòng 1 là "No" thì không cần ghi dòng 2.
Test mẫu:
Input 1 Output 1 Input 2 Output 2 Input 3 Output 3
4 12 4 no 2 yes
2134 3124 12 11
24 - Bài 3
Xét một đường hầm lưu thông một chiều. Trong một ngày, có n ô tô đi qua đường hầm, mỗi
ô tô chỉ đi qua đúng một lần. Giả sử tốc độ của ô tô là không đổi trong quá trình di chuyển.
Có hai Camera giám sát, một cái lắp ở đầu vào, còn một cái lắp ở đầu ra của đường hầm. Camera
này ghi lại quá trình các xe ra/vào đường hầm (không có hai xe nào cùng ra hoặc cùng vào đường
hầm một lúc).
Trong hầm cấm các xe vượt nhau. Nếu xe nào cố tình vượt thì sẽ bị phạt tiền. Tuy nhiên, mỗi
xe sẽ chỉ bị phạt nhiều nhất là một lần.
Cụ thể, xe thứ i bị coi là vượt xe thứ j nếu xe i vào sau xe j mà xe i lại ra trước xe j. Một chiếc
xe được xác định là sẽ bị phạt nếu nó vượt qua ít nhất một xe khác trong đường hầm.
Hãy xác định số lượng ô tô bị phạt.
Input
Dòng 1: ghi số nguyên n (2 ≤ n ≤ 105) - là số lượng xe ô tô.
Dòng 2: ghi n số nguyên phân biệt a1, a2,…,an (1 ≤ ai ≤ n), mô tả thứ tự vào đường hầm của các
xe ô tô.
Dòng 3: ghi n số nguyên phân biệt b1,b2,…,bn (1 ≤ bi ≤ n), mô tả thứ tự ra khỏi đường hầm của
các xe ô tô.
Output
Một số nguyên duy nhất là kết quả tìm được.
Ví dụ mẫu:
Input Output
7
5236714 6
2367145
Giải thích: Trong ví dụ, xe 5 vào đầu tiên mà lại ra cuối cùng nên tất cả các xe khác đều vượt nó
trong đường hầm.
25 - Bài 1
Cho dãy A1,A2,⋯,AN. Đếm số lượng dãy con gồm các phần tử liên tiếp của dãy đã cho sao cho
các phần tử trong dãy con này được sắp xếp theo thứ tự không giảm.
Bạn cần trả lời T truy vấn như vậy.
Input
Dòng 1: ghi số nguyên T (1 ≤ T ≤ 5) là số lượng truy vấn cần trả lời; Mỗi truy vấn gồm:
Dòng đầu truy vấn ghi số nguyên N (1 ≤ N ≤ 105) là số lượng phần tử của dãy;
Dòng thứ hai truy vấn ghi N số nguyên A1,A2,⋯,AN (1 ≤ Ai ≤ 109)
Output
Ghi trên T dòng, mỗi dòng gồm một số nguyên duy nhất là câu trả lời cho truy vấn tương ứng.
Sample Input Sample Output
2 6
4 1
1423
1
5
Giải thích: Ở truy vấn thứ nhất, có tất cả sáu dãy con các phần tử sắp xếp theo thứ tự không giảm
là: (1),(1,4),(4),(2),(2,3),(3).
26 - Bài 2
Có hai loại trái cây với số lượng mỗi loại là không giới hạn. Loại thứ nhất có trọng lượng là 2
kg / 1 quả, loại thứ hai có trọng lượng là 3 kg / 1 quả.
Bờm được Phú ông giao cho một cái túi có thể chứa được tối đa X kg để đi mua trái cây.
Vừa đi, Bờm vừa tính xem có bao nhiêu cách chọn mua trái cây khác nhau để chứa đầy cái túi
mang về. Hãy giúp Bờm tính xem có bao nhiêu cách nhé. Hai cách chọn được gọi là giống nhau
nếu số lượng trái cây và thứ tự của chúng giống hệt nhau.
Input
Dòng 1: ghi số nguyên T (1≤T≤2000) là số lượng truy vấn;
Tiếp theo là T dòng, mỗi dòng ghi một số nguyên X (1≤X≤106) mô tả một truy vấn.
Output
Ghi trên T dòng, mỗi dòng gồm một số nguyên là câu trả lời cho truy vấn tương ứng. Vì câu trả
lời có thể rất lớn nên hãy Mod 109+9
Sample Input Sample Output
2 2
5 3
7
Giải thích: Ở truy vấn thứ nhất, có hai cách chọn là (2,3) và (3,2);
Ở truy vấn thứ hai, có ba cách chọn là (2,2,3), (2,3,2) và (3,2,2).
27 - Bài 3
Một số nguyên được gọi là K-Primes nếu nó có đúng K thừa số nguyên tố phân biệt.
Bạn cần trả lời T truy vấn, mỗi truy vấn cho biết ba số nguyên A, B, K và yêu cầu bạn đếm xem
trong đoạn [A,B] có tất cả bao nhiêu số K-Primes.
Input
Dòng 1: ghi số nguyên T (1≤T≤104) là số lượng truy vấn;
Tiếp theo là T dòng, mỗi dòng ghi ba số nguyên A, B, K (2≤A≤B≤105; 1≤K≤5) mô tả một truy
vấn.
Output
Ghi trên T dòng, mỗi dòng gồm một số nguyên là câu trả lời cho truy vấn tương ứng.
Sample Input Sample Output
2
251 4
4 10 2 2
Giải thích: Ở truy vấn thứ nhất, có bốn số thỏa mãn là 2,3,4=2×2,5;
Ở truy vấn thứ hai, có hai số thỏa mãn là 6=2×3,10=2×5.
28 - Bài 4
Có N con ếch đứng trên trục tọa độ Ox. Một con ếch có thể truyền thông điệp cho một con ếch
khác nếu khoảng cách của chúng nhỏ hơn hoặc bằng K. Biết rằng chúng truyền thông điệp với
nhau qua hiệu ứng dây chuyền, tức là có thể truyền qua một con ếch trung gian khác.
Bạn cần trả lời T truy vấn, mỗi truy vấn cho biết hai số nguyên i,j yêu cầu cho biết hai con ếch
thứ i và thứ j có thể truyền thông điệp cho nhau được hay không. Nếu có thể, ghi "Yes", ngược lại
ghi "No".
Input
Dòng 1: ghi ba số nguyên N, K, T (1 ≤ N, T≤ 105; 0 ≤ K ≤ 109);
Dòng 2: ghi N số nguyên A1, A2,⋯, AN (0 ≤ Ai ≤ 109, ∀i=1→N) mô tả tọa độ của các con ếch;
Tiếp theo là T dòng, mỗi dòng ghi hai số nguyên i, j (1≤i, j≤N) mô tả một truy vấn.
Output
Ghi trên T dòng, mỗi dòng ghi "Yes" hoặc "No" là câu trả lời cho truy vấn tương ứng.

Sample Input Sample Output


532 Yes
0 3 8 5 12 No
13
25
Giải thích:
+ Ở truy vấn thứ nhất, con ếch thứ nhất sẽ truyền thông điệp cho con thứ hai, con thứ hai truyền
cho con thứ tư, con thứ tư truyền cho con thứ ba.
+ Ở truy vấn thứ hai, không có cách nào để con ếch thứ hai truyền thông điệp cho con ếch thứ
năm.
29 - Bài 1
Cho dãy số nguyên a1, a2,…, an đã sắp xếp không giảm. Xác định xem trong dãy có bộ ba
phần tử của dãy mà "không thể" tạo thành ba cạnh của một tam giác hay không.
Bạn cần trả lời t truy vấn như vậy.
Input
Dòng 1: ghi số nguyên t (1 ≤ t ≤ 1000) là số lượng truy vấn.
Tiếp theo là t truy vấn, mỗi truy vấn gồm:
Dòng đầu tiên ghi một số nguyên n (3 ≤ n ≤ 5⋅104) là số phần tử của dãy a.
Dòng thứ hai ghi n số nguyên a1, a2,…, an (1 ≤ ai ≤ 109; ai−1 ≤ ai) — mô tả dãy a.
Dữ liệu đảm bảo tổng của tất cả các n trong các truy vấn không lớn hơn 105.
Output
Với mỗi truy vấn, ghi ra trên một dòng ba chỉ số i, j, k (i < j < k) nếu tồn tại bộ ba phần tử ai
, aj và ak không thể tạo thành ba cạnh của một tam giác. Các số ghi theo thứ tự tăng dần, nếu có
nhiều bộ ba thỏa mãn thì in ra một bộ ba bất kỳ. Nếu tồn tại một bộ ba thỏa mãn thì ghi ra -1.
Ví dụ mẫu:
Inp out
3 236
7 -1
4 6 11 11 15 1 2 3
18 20
4
10 10 10 11
3
11
1000000000

30 - Bài 2
Cho n điểm là (x1, y1),(x2, y2),…,(xn, yn) có tọa độ nguyên trên mặt phẳng Oxy.
Bạn cần vẽ một tam giác cân với hai cạnh với một đỉnh là gốc tọa độ, một đỉnh nằm trên
trục hoành, một đỉnh nằm trên trục tung sao cho diện tích là nhỏ nhất có thể mà vẫn chứa được tất
cả các điểm đã cho.
In ra chiều dài của cạnh nhỏ hơn trong tam giác vừa vẽ.
Input
Dòng 1: ghi số nguyên n (1 ≤ n ≤ 105).
Tiếp theo là n dòng, mỗi dòng ghi hai số nguyên xi và yi (1 ≤ xi, yi ≤ 109).
Output
Một số nguyên duy nhất là kết quả tìm được.
In 1 (ví dụ 1) Out1 In 2 (ví dụ 2) Out 2
3 3 4 4
11 11
12 12
21 21
22

Minh họa ví dụ 1: Minh họa ví dụ 2:

You might also like