Thí sinh không được sử dụng tài liệu. Cán bộ coi thi không giải thích gì thêm.
Họ và tên thí sinh:…………………………………………………….Số báo danh:……………………………..
TỔNG QUAN ĐỀ THI
Bài | Tên bài | File chương trình | File dữ liệu | File kết quả | Thời gian |
1 | ĐỔI CHỖ | DOICHO.* | DOICHO.INP | DOICHO.OUT | 1 giây |
2 | SỐ DƯ | SODU.* | SODU.INP | SODU.OUT | 1 giây |
3 | VẮT SỮA | VATSUA.* | VATSUA.INP | VATSUA.OUT | 1 giây |
4 | DÃY SỐ ĐẸP | DAYSODEP.* | DAYSODEP.INP | DAYSODEP.OUT | 1 giây |
Dấu * được thay thế bởi CPP hoặc PY của ngôn ngữ lập trình sử dụng tương ứng là C++ hoặc PYTHON
Câu 1( 6 điểm): Cho một mảng gồm n số nguyên a1, a2, a3, … an. Hãy đổi vị trí của phần tử lớn nhất và nhỏ nhất cho nhau. Nếu có nhiều phần tử lớn nhất và nhỏ nhất thì đổi chỗ phần tử lớn nhất có vị trí lớn nhất cho phần tử nhỏ nhất có vị trí nhỏ nhất cho nhau.
Dữ liệu: Vào từ file văn bản DOICHO.INP:
- Dòng thứ nhất là chiều dài n của mảng( 1<=n<=106)
- Dòng thứ 2 gồm n số nguyên a1, a2, a3, …an(a[i] <=109)
Kết quả: Ghi ra file DOICHO.OUT là mảng đã được đổi chỗ
Ví dụ:
DOICHO.INP | DOICHO.OUT | DOICHO.INP | DOICHO.OUT |
5 8 7 1 8 9 | 8 7 9 8 1 | 7 6 2 6 2 1 9 1 | 6 2 6 2 9 1 1 |
Câu 2( 5 điểm): Cho một mảng gồm n số nguyên a1, a2, a3, … an. Hãy tính số dư của tích các phần tử trong mảng với số nguyên dương k=109+7.
Dữ liệu: Vào từ file văn bản SODU.INP:
- Dòng thứ nhất là chiều dài n của mảng( 1<=n<=106)
- Dòng thứ 2 gồm n số nguyên dương a1, a2, a3, …an( ai<=109)
Kết quả: Ghi ra file SODU.OUT là số dư cần
Ví dụ:
SODU.INP | SODU.OUT |
6 2023 7 1 8 99 1000 | 215511923 |
Câu 3( 5 điểm): Vào một buổi sáng anh Bo sắp đàn bò gồm n con bò để vắt sữa. Anh dự kiến là vào sáng hôm đó, con bò thứ i có khả năng sẽ vắt được ai lít sữa. Tuy nhiên đàn bò của anh có đặc tính là cữ mỗi lần vắt sữa một con, những con còn lại trông thấy sợ quá nên sẽ bị giảm sản lượng mỗi con 01 lít sữa. Nếu vắt sữa con bò thứ nhất, n -1 con bò còn lại bị giảm sản lượng. Sau đó vắt sữa con bò thứ 2 thì n-2 con còn lại bị giảm sản lượng … Bạn hãy giúp anh Bo tính xem thứ tự vắt sữa bò như thế nào để số lượng sữa vắt được là nhiều nhất.
Dữ liệu: Vào từ file văn bản VATSUA.INP:
- Dòng thứ nhất là số nguyên n ( 1<= n<=105) là số lượng con bò
- Dòng thứ 2 gồm n số nguyên a1, a2, a3, …an( 1<=ai<=109) là sản lượng sữa của các con bò.
Kết quả: Ghi ra file VATSUA.OUT là số nguyên xác định số lít sữa nhiều nhất mà anh Bo có thể vắt được.
Ví dụ:
VATSUA.INP | VATSUA.OUT | VATSUA.INP | VATSUA.OUT |
5 6 2 8 9 19 | 36 | 8 9 1 4 3 2 1 6 3 | 16 |
Câu 4( 4 điểm): Một dãy được xem là đẹp nếu nó là một dãy các số nguyên dương và có các đặc điểm sau:
+ Độ dài của dãy là một số lẻ: L=2*n +1
+ n+1 số nguyên đầu tiên của dãy tạo thành một dãy tăng
+ n+1 số nguyên cuối của dãy tạo thành một dãy giảm
+ Không có 2 số nguyên nào cạnh nhau trong dãy có giá trị bằng nhau
Ví dụ: 1, 2, 3, 4, 5, 4, 3, 2, 1 là một dãy đẹp độ dài 9. Tuy nhiên, dãy 1, 2, 3, 4, 5, 4, 3, 2, 2 không là 1 dãy đẹp
Yêu cầu: Trong các dãy con của dãy số cho trước, tìm dãy đẹp có độ dài dài nhất
Dữ liệu vào: DAYSODEP.INP gồm:
+ Dòng 1: Số nguyên dương n(n<= 105), độ dài dãy số.
+ Dòng 2 : n số nguyên dương ai (ai<=109).
Kết quả: ghi ra file DAYSODEP.OUT là một số nguyên dương duy nhất là độ dài dãy đẹp dài nhất.
Ví dụ:
DAYSODEP.INP | DAYSODEP.OUT |
19 1 2 3 2 1 2 3 4 3 2 1 5 4 1 2 3 2 2 1 | 9 |
——– Hết ——–
Tham khảo bộ test và code tại đây: https://drive.google.com/drive/folders/1jN8-rsmmRU7EWWkiZZxGIDMM29oJjXN9?usp=sharing
Hướng dẫn chấm tại đây: