CF731E面白いゲーム

タイトル説明

長さN AI、今度は動作の両方の配列

各操作は、Sを獲得し、現在のプレーヤーながら、Sの接頭辞と交換、その後、1より大きいプレフィックス長を選択し、そのSを計算することです。

ときに一つだけの要素、ゲームオーバーです。

この値を計算するために、相手の得点 - 双方は、あなたのスコアを最大化します。

サンプル入力と出力

入力#1

3 
2  4  8

出力#1

14

入力#2

4 
1 - 7 - 2  3

出力#2

- 3

問題解決のためのアイデア

ただ、DPのqwqから抜け出します

ACコード

const  int型 N = 1E6;
int型のn;
INT [N]、K。
INT メイン(){ 
    scanf関数(" %のD "、&N)
    以下のためにint型 i = 1 ; iが<= N; iが++ ){
         int型HH。
        scanf関数(" %のD "、&HH)。
        [i]は [I-= 1 ] + HHと、
    } 
    INT ANS = [N]。
    以下のためにint型 I = N- 1、I> = 1 ; I - )のk =のANS、ANS = MAX(ANS、[I] -K)。
    printf(" %d個の\ n " 、K)。
    リターン 0 ; 
}
コードの表示

 

おすすめ

転載: www.cnblogs.com/Larry-Zero/p/11750229.html