n개의 원소들의 차이가 최소가 될 때가 n개의 원소를 곱했을 때의 최대값이다.
n = 3, s = 10일 때 [3, 4, 4]가 정답인데 이는 즉, 10 % 3 == 2개의 원소는 다른 1개의 원소 값보다 1큰 것을 의미하고, 다른 1개의 원소 값은 10 / 3 == 3이다.
코드는 아래와 같다.
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int n, int s) {
vector<int> answer;
int base = s / n;
int remain = s % n;
if(base == 0)
return { -1 };
for(int i=0;i<n-remain;i++)
answer.push_back(base);
for(int i=0;i<remain;i++)
answer.push_back(base + 1);
return answer;
}