Giả sử chúng ta có một mảng A với n phần tử và một số m. Có n học sinh tặng quỳ tím. Điểm cao nhất có thể là m. A [i] là điểm của sinh viên thứ i. Chúng tôi có thể thao túng điểm số của từng học sinh, nhưng các điều kiện phải được thỏa mãn. Điểm sẽ không vượt quá m, tất cả các điểm đều là số nguyên và điểm trung bình của tất cả học sinh không thay đổi. Nếu chúng tôi muốn tối đa hóa điểm của người đầu tiên, thì điểm số cao nhất có thể mà chúng tôi có thể đưa ra sẽ là bao nhiêu.
Vì vậy, nếu đầu vào là A =[1, 2, 3, 4]; m =10, thì kết quả đầu ra sẽ là 10, vì trung bình là 2,5, chúng ta có thể đặt điểm số [10, 0, 0, 0] trong đó điểm trung bình bằng nhau nhưng điểm của người đầu tiên là tối đa.
Các bước
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
sum:=0n:=size of Afor khởi tạo j:=0, khi jVí dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
#includeusing namespace std; int Giải (vector A, int m) {int sum =0; int n =A.size (); for (int j =0; j A ={1, 2, 3, 4}; int m =10; cout < Đầu vào
{1, 2, 3, 4}, 10Đầu ra
10