提出 #17841248


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;

int main()
{
    static const int ub = 1e+9 + 1;
    int N, M;
    cin >> N >> M;
    vector<int> D_vec(N), C_vec(M);
    for (int i = 0; i < N; ++i)
        cin >> D_vec.at(i);
    for (int j = 0; j < M; ++j)
        cin >> C_vec.at(j);
    vector<vector<int>> dp(N + 1, vector<int>(M + 1, ub));
    dp[0][0] = 0;
    for (int j = 0; j < M; ++j) {
        for (int i = 0; i < N; ++i)
            dp[i + 1][j + 1] = dp[i][j] + D_vec.at(i) * C_vec.at(j);
        for (int i = 0; i < N + 1; ++i) {
            int cost = dp[i][j];
            if (dp[i][j + 1] > cost)
                dp[i][j + 1] = cost;
        }
    }
    cout << dp[N][M] << endl;
}

提出情報

提出日時
問題 D - シルクロード (Silk Road)
ユーザ atug
言語 C++ (GCC 9.2.1)
得点 100
コード長 698 Byte
結果 AC
実行時間 12 ms
メモリ 6760 KiB

ジャッジ結果

セット名 set01 set02 set03 set04 set05
得点 / 配点 20 / 20 20 / 20 20 / 20 20 / 20 20 / 20
結果
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
セット名 テストケース
set01 data1
set02 data2
set03 data3
set04 data4
set05 data5
ケース名 結果 実行時間 メモリ
data1 AC 9 ms 3500 KiB
data2 AC 2 ms 3608 KiB
data3 AC 8 ms 5540 KiB
data4 AC 12 ms 4204 KiB
data5 AC 11 ms 6760 KiB