2012年2月1日水曜日

TopCoder SRM325 Div2 250Pts

このTopCoderの問題はこちらで見ることができる(要TopCoder登録 & 問題文は英語)。

ある会社では、労働者は毎月、最初の200時間の労働では1時間当たりP1ドル受け取る。200時間を超えた残りの労働時間では1時間あたりP2ドルを受け取る。この労働者がsalaryという給料を受け取るために、最小限働かなければならない時間は何時間かを実数型で計算して返せ。

私の解答はこちら。

public class SalaryCalculator {

 public double calcHours(int P1, int P2, int salary) {
  if( P1 * 200 >= salary ){
   return (double)salary/P1;
  }
  salary -= P1*200;
  return (double)salary/P2+200;
 }

}

得点は241.88/250、中央値は約217点。

0 件のコメント:

コメントを投稿

フォロワー

ページビューの合計