코드 #include using namespace std; vector solution(int n, int s) { if(n>s){ // 자연수 n개를 가지고는 합이 s인 집합을 만들 수 없는 경우 return {-1}; } // 곱이 최대한인 집합을 만드는 문제 이기 때문에 집합의 요소들이 균등해야 합니다. vector answer(n,s/n); // s/n을 통해 균등하데 값을 넣음 int num=s%n; // 나머지값 for(int i=n-1;num>0;i--){ // 값은 오른차순 정렬이기에 뒤에서부터 나머지 값을 더해주며 균등하게 만듬 answer[i]++; num--; } return answer; }