1:1最強アルゴリズムの紹介

さて、解答の応募もないので、(あんだけカラムならこれぐらい簡単に解いてくれよ>某氏w)。
想定していた答えについて解説をはじめよう。
1:1アルゴリズムの構成、発想はどういうところからくるのかというと、
「1日3000円使う3日で9000円使う。仕事をしないと4日目には死んでしまう。」
つまり、これを前提に最適化ルールをインプリメントすることで、1:1最強アルゴリズムがつくれるのである。
もっというと4日の間、相手に仕事させなければ、自分が生き残れるので、1:1最強という理屈である。
4日の間に2000円稼ぐことができれば、5日目にも生きていれて、5日目からは3000円か5000円貰えばなんとかなるという理屈である。
つまり500,500,500,500,3000,3000,3000, こういうbid系列が最強となる。
インタフェース的には何日目かがわかったほうが良いので、
bid関数の呼び出し規約を変える必要がある。

// day is 1 origin integer 
long bid(int day){
    if ( day <= 4 ){
	return 500;
    } else {
        return 3000;
    }
}

これが最強アルゴリズムの初期コードになる。