SRM629_DIV2_550
問題概要
アリスはクラスメート全員の為にアメを作る。
各クラスメートは飴を入れてもらう容器を提供し、
また各々は容器に入れてもらいたい重量を提示する。
アリスは一定の密度でアメを入れなければならない為、
各クラスメートの要望を聞き入れることができない。
各クラスメートの要望重量と実際の重量との差分を合計し、
一番小さい(みんなが満足度が高い)差分合計を出力せよ。
回答コード(C#)
class CandyMaking { public double findSuitableDensity (int[] containerVolume, int[] desiredWeight) { int classmateNum = containerVolume.Length; double min = 1.0E+300; double sum = 0.0; for (int i = 0; i < classmateNum; i++) { double d = (double)desiredWeight [i] / (double)containerVolume [i]; sum = 0.0; for (int j = 0; j < classmateNum; j++) { sum += Math.Abs( (double)desiredWeight [j] - (d * (double)containerVolume [j])); } if (min > sum) min = sum; } return min; }