結果
| 問題 | 
                            No.1160 Strange Bowling
                             | 
                    
| ユーザー | 
                             kokatsu
                         | 
                    
| 提出日時 | 2022-01-10 21:31:16 | 
| 言語 | D  (dmd 2.109.1)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 58 ms / 2,000 ms | 
| コード長 | 425 bytes | 
| コンパイル時間 | 1,825 ms | 
| コンパイル使用メモリ | 206,664 KB | 
| 実行使用メモリ | 10,004 KB | 
| 最終ジャッジ日時 | 2024-06-22 14:01:40 | 
| 合計ジャッジ時間 | 3,674 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 36 | 
ソースコード
import std;
void main() {
    int N;
    readf("%d\n", N);
    auto p = new long[](N), a = new long[](N);
    foreach (i; 0 .. N) {
        readf("%d %d\n", p[i], a[i]);
    }
    auto dp = new long[][](N+1, 2);
    dp[1][0] = p[0], dp[1][1] = a[0];
    foreach (i; 1 .. N) {
        dp[i+1][0] = max(dp[i][0]+p[i], dp[i][1]+p[i]*2);
        dp[i+1][1] = max(dp[i][0]+a[i], dp[i][1]+a[i]*2);
    }
    dp[N][0].writeln;
}
            
            
            
        
            
kokatsu