提出 #2121815


ソースコード 拡げる

#include <iostream>
#include <vector>
#include <cstdlib>
#include <climits>
using namespace std;

int main(){
    int n; cin >> n;
    vector<vector<int>> v(2, vector<int>(n));
    for(int i = 0; i < 2; ++i){
        for(int j = 0; j < n; ++j){
            cin >> v[i][j];
        }
    }

    vector<vector<int>> dp(2, vector<int>(n, -1));
    dp[0][0] = v[0][0];

    for(int i = 0; i < 2; ++i){
        for(int j = 0; j < n; ++j){
            if(dp[i][j] == -1) continue;
            // 下方向への遷移
            if(i+1 < 2) dp[i+1][j] = max(dp[i][j] + v[i+1][j], dp[i+1][j]);
            // 右方向への遷移
            if(j+1 < n) dp[i][j+1] = max(dp[i][j] + v[i][j+1], dp[i][j+1]);
        }
    }

    cout << dp[1][n-1] << endl;
    return EXIT_SUCCESS;
}

提出情報

提出日時
問題 C - Candies
ユーザ wayway6
言語 C++14 (GCC 5.4.1)
得点 300
コード長 808 Byte
結果 AC
実行時間 1 ms
メモリ 256 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 4
AC × 16
セット名 テストケース
Sample sample01.txt, sample02.txt, sample03.txt, sample04.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, sample01.txt, sample02.txt, sample03.txt, sample04.txt
ケース名 結果 実行時間 メモリ
01.txt AC 1 ms 256 KiB
02.txt AC 1 ms 256 KiB
03.txt AC 1 ms 256 KiB
04.txt AC 1 ms 256 KiB
05.txt AC 1 ms 256 KiB
06.txt AC 1 ms 256 KiB
07.txt AC 1 ms 256 KiB
08.txt AC 1 ms 256 KiB
09.txt AC 1 ms 256 KiB
10.txt AC 1 ms 256 KiB
11.txt AC 1 ms 256 KiB
12.txt AC 1 ms 256 KiB
sample01.txt AC 1 ms 256 KiB
sample02.txt AC 1 ms 256 KiB
sample03.txt AC 1 ms 256 KiB
sample04.txt AC 1 ms 256 KiB