NEO01 - Editorial

PROBLEM LINK:

Practice
Contest

Author: Sameer Gulati
Tester: Prateek Gupta
Editorialist: Oleksandr Kulkov

DIFFICULTY:

simple

PREREQUISITES:

None

PROBLEM:

You are given set of integers. You have to split it into subsets in such way that \sum\limits_{subsets}|subset_i| \times\left(\sum\limits_{j\in subset_i}a_j\right) is maximized.

EXPLANATION:

Since we want to maximize multiplier of positive elements, they all should be in the same subset. Also we can take with them some largest of negative elements.

Since we want to minimize the multiplier of negative elements, each of remaining negative elements will be in the set containing only this element (i.e. single element sets).

Thus we bruteforce the number of negative elements which will be in the set with positive ones and choose the best possible sum among all this variants.

AUTHOR’S AND TESTER’S SOLUTIONS:

Author’s solution will be updated soon.
Tester’s solution will be updated soon.
Editorialist’s solution will be updated soon.

RELATED PROBLEMS:

See this test case:
n=8
-5 -3 -2 0 0 2 8 12
Answer = 114 . But as most people have done their answer would come 112 and still would pass.

could u explain how it is 114?