#CCBCHBAHAI0000118. Array Mastery II - Source & Semantics Clinic
Array Mastery II - Source & Semantics Clinic
Array Mastery II - Source & Semantics Clinic
Nguồn: Phước Hưng OJ
Phiên bản: Phước Hưng OJ Extended
Đề bài
Cho mảng số nguyên
và hai số nguyên . Bài kiểm tra tổng hợp yêu cầu thực hiện đúng tám phản xạ của Chương 32 trên cùng dữ liệu:
- Kích thước suy ra từ danh sách phần tử là ; chỉ số hợp lệ lớn nhất là .
- Tạo bản sao độc lập với .
- Với parameter hàm dạng
int a[], không thể suy portable độ dài mảng gốc bằngsizeof(a)/sizeof(a[0]); kết quả quy ước làUNKNOWN. - Tìm chỉ số 0-based đầu tiên và cuối cùng của . Nếu không xuất hiện, cả hai chỉ số bằng .
- Tính tần suất
- Tạo mảng đảo theo
- Tạo mảng bằng cách thay mọi bằng . Số phép thay bằng đúng ; nếu , nhưng số phép kích hoạt vẫn là .
- Trên , chỉ được tăng phần tử từng đơn vị. Tìm số bước nhỏ nhất để biến thành dãy không giảm.
Bài này không sử dụng sorting, prefix sum, two pointers, chuỗi C hay mảng hai chiều.
Input
Dòng đầu chứa . Dòng thứ hai chứa số nguyên . Dòng cuối chứa .
Output
In lần lượt 9 dòng:
n n-1;- mảng ;
UNKNOWN;first last;- ;
- mảng đảo ;
- số phép thay ;
- mảng ;
- số bước tăng nhỏ nhất để không giảm.
Subtask
Subtask 1 (20 điểm): , .
Subtask 2 (30 điểm): , .
Subtask 3 (50 điểm): , .
Ví dụ
Input
5
3 1 3 2 3
3 4
Output
5 4
3 1 3 2 3
UNKNOWN
0 4
3
3 2 3 1 3
3
4 1 4 2 4
5
Giải thích
Sau thay thế, . Để không giảm cần tăng phần tử thứ hai thêm 3 và phần tử thứ tư thêm 2, tổng 5 bước.