private static String solve(int n, int[] s) {
		int totalVotes = 0;
		for (int i : s) {
			totalVotes += i;
		}
		double breakEvenPointTotal = 2.0*totalVotes/n;
		// figure out the number of people that need points vs overflowers
		int numNeedPoints = 0;
		double amountOfOverflow = 0.0;
		for (int personPoints : s) {
			if (personPoints > breakEvenPointTotal) {
				amountOfOverflow += personPoints - breakEvenPointTotal;
			} else {
				numNeedPoints += 1;
			}
		}
		breakEvenPointTotal -= amountOfOverflow/numNeedPoints; // suppress the break even point based on how excellently other people did
		StringBuilder sb = new StringBuilder();
		for (int i=0; i<n; i++) {
			sb.append(" ");
			double ans = (breakEvenPointTotal-s[i])/totalVotes*100;
			sb.append(ans > 0 ? ans : 0);
		}
		return sb.toString();
	}