Editorial for ECOO '21 P4 - Chris' Candy
Submitting an official solution before solving the problem yourself is a bannable offence.
Authors: ,
The key observation here is how many combinations a given output has. Consider the sample output grouped by type: 2 9 9 9. The counts of the elements look like this:
2 : 1
9 : 3
Now for each element, recall that two sets with the same amount of all elements are the same. Assuming the rest of our elements have  combinations, and our last element has 
 total, we have 
 total sets. Why? We can choose to have any number from 
 of our last element, and no matter which we choose, we have 
 combinations for the rest of our elements, for a total of 
 combinations.
Let us have  distinct elements, each with counts 
. Then the total number of combinations is:
We subtract the empty combination here.
As an example suppose we are given , as in the sample input. Then we need:
Well, since we get to choose , what if we just factor 
?
And indeed, the sample input has . Another valid output for 
 is 
1 2 3, which has .
This should give us the understanding to solve the first subtask. We can simply output  of the same integer, since 
 is so small.
For the remaining subtasks, we note that we can find the sum of  to be minimal in order to check if it fits under the constraint 
. In other words, we must find a set of numbers 
 such that
and
is minimum. By making a change of variable of , it follows that
and we are trying to minimize
Now consider that there exists a  such that there exist positive integers 
 where 
. We can try to immediately minimize the sum by replacing 
 with 
 and 
. In other words, we will replace 
 with 
 and 
 when
The only positive integer solutions to the inequality are when , so it is always better to replace 
 with 
 and 
. Thus, the optimal solution should have all of 
 not factorable into 
 meaning that all 
 should be prime. So, after factoring 
 into its prime factors, we can compare the sum against 
.
The second subtask rewards contestants who made these observations but implemented an inefficient solution, potentially by factoring in linear time.
The final subtask can be solved by factoring in  time or other efficient methods. Implementation details are left as an exercise to the reader.
Time Complexity: 
Comments