Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

첫 번째 학생에게 할당할 수 있는 최대 점수를 찾는 C++ 코드

<시간/>

n개의 요소와 숫자 m이 있는 배열 A가 있다고 가정합니다. 시험을 보는 학생이 n명 있습니다. 가능한 가장 높은 점수는 m입니다. A[i]는 i번째 학생의 점수입니다. 각 학생의 점수를 조작할 수 있지만 조건이 충족되어야 합니다. 점수는 m을 초과하지 않으며 모든 점수는 정수이며 모든 학생의 평균 점수는 변경되지 않습니다. 1인칭 점수를 최대화하고 싶다면 우리가 줄 수 있는 가장 높은 점수는 얼마가 될까요?

따라서 입력이 A =[1, 2, 3, 4]와 같으면; m =10이면 출력은 10이 됩니다. 평균이 2.5이기 때문에 평균은 같지만 첫 번째 점수가 최대인 점수 [10, 0, 0, 0]를 설정할 수 있습니다.

단계

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

sum :=0n :=A의 크기 초기화 j :=0, j  

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#include 네임스페이스 std;int solve(vector A, int m){ int sum =0; 정수 n =A.크기(); for (int j =0; j  A ={ 1, 2, 3, 4 }; 정수 m =10; cout <<해결(A, m) < 

입력

{ 1, 2, 3, 4 }, 10

출력

10