Bài kiểm tra số 1 - k1948g2 - đề 3
Tìm số lượng số âm liên tiếp nhiều nhất trong mảng
Nộp bàiPoint: 3
Nhập vào một mảng các số nguyên A có N phần tử, in ra số lượng các số âm liên tiếp nhiều nhất trong mảng.
Ràng buộc: ~0 < N \leq 10^6~; ~-10^6 \leq A[i] \leq 10^6~
Dữ liệu vào gồm 2 dòng, dòng thứ nhất là số lượng N phần tử, dòng thứ 2 lần lượt là N phần tử trong mảng A.
Input 01:
10
-5 -1 -4 -1 3 -2 1 -2 -3 -10
Output 01:
4
Số lượng các số âm liên tiếp nhiều nhất trong mảng trên là 5
Input 02:
15
-5 -1 -4 -1 3 -2 1 -2 -3 -10 -11 -13 -15 -14 -12
Output 01:
8
Tìm kiếm vị trí đầu tiên của phần tử x trong mảng
Nộp bàiPoint: 2
Cho một mảng A nguyên gồm N phần tử đã sắp xếp tăng dần, hãy tìm chỉ số của phần tử x xuất hiện đầu tiên trong mảng, ví dụ mảng 1, 3, 4, 5, 5, 5, 6, 7. Nếu tìm số x = 5 thì số 5 xuất hiện đầu tiên sẽ có chỉ số 3, in ra chỉ số này. Nếu không tìm thấy in ra -1.
Ràng buộc: ~0 < N \leq 10^6~, ~-10^6 < A[i] \leq 10^6~
Input 01:
8 5
1 3 4 5 5 5 6 7
Output 01:
3
Input 02:
7 -3
-3 -3 -1 4 5 6 7
Output 02:
0
Input 03:
6 10
1 3 4 5 6 7
Output 03:
-1
Vắt sữa bò (sắp xếp - tìm kiếm)
Nộp bàiPoint: 3
Vào một buổi sáng anh Bo sắp xếp một đà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ứ 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 còn lại bị giảm sản lượng. Sau đó vắt sữa con bò thứ hai 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 nhé.
Đầu vào:
Dòng thứ nhất là số nguyên là số lượng con bò.
Dòng thứ hai gồm n số nguyên a1, a2...., an là sản lượng sữa của các con bò.
Ràng buộc: 1<=n<=10^5; 1<=a[i]<=10^6
Số nguyên xác định số lít sữa nhiều nhất mà anh Bo có thể vắt được.
Input
4
4 4 4 4
Output:
10
Biểu thức nhỏ nhất (sắp xếp - tìm kiếm)
Nộp bàiPoint: 2
Một dãy gồm n số nguyên không âm a1, a2,...., an được viết thành một hàng ngang, giữa hai số liên tiếp có một khoảng trắng, như vậy có tất cả (n-1) khoảng trắng. Người ta muốn đặt k dấu cộng và (n-1-k) dấu trừ vào (n-1) khoảng trằng đó để nhận được một biểu thức có giá trị lớn nhất. Ví dụ, với dãy gồm 5 số nguyên 28, 9, 5, 1, 69 và k = 2 thì cách đặt 28+9-5-1 +69 là biểu thức có giá trị lớn nhất. Yêu cầu: Cho dãy gồm n số nguyên không âm a1, a2..., an và số nguyên dương k, hãy tìm cách đặt k dấu cộng và (n-1-k) dấu trừ vào (n-1) khoảng trắng để nhận được một biểu thức có giá trị lớn nhất.
Đầu vào: Dòng đầu chứa hai số nguyên dương n, k; Dòng thứ hai chứa n số nguyên không âm a1, a2,..., an;
Ràng buộc: 1 <= k < n ≤ 10^5; 0 <= a[i] ≤ 10^6
In ra giá trị lớn nhất của biểu thức
Input:
5 3
10 1 3 9 8
Output:
29