Submission #1519965


Source Code Expand

// AtCoder Grand Contest 013
// D - Piling Up

#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef pair<int, int> pii;
typedef pair<ll, int> pli;


const int MAX_N = 3000;
const ll MOD = (ll)1e9 + 7;

int N, M;
ll dp[2][MAX_N + 1];

int main() {

    ll ans;

    cin >> N >> M;
    memset(dp, 0, sizeof(dp));
    dp[0][0] = 1;
    for (int i = 1; i <= N; i++) {
        dp[1][i] = 1;
    }

    for (int k = 0; k < M - 1; k++) {
        for (int j = 0; j < 2; j++) {
            dp[j][N] = 0;
            for (int i = N; i > 0; i--) {
                dp[j][i] += dp[j][i - 1];
                dp[j][i] %= MOD;
            }
            for (int i = 0; i < N; i++) {
                dp[j][i] += dp[j][i + 1];
                dp[j][i] %= MOD;
            }
        }
        dp[0][0] += dp[1][0];
        dp[0][0] %= MOD;
        dp[1][0] = 0;
    }

    ans = 0;
    for (int i = 0; i < N; i++) {
        ans += dp[0][i];
        ans %= MOD;
    }
    ans *= 4;
    ans %= MOD;

    cout << ans << endl;

    return 0;

}



Submission Info

Submission Time
Task D - Piling Up
User scarlet7000
Language C++14 (GCC 5.4.1)
Score 900
Code Size 1113 Byte
Status AC
Exec Time 75 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 900 / 900
Status
AC × 3
AC × 33
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 26 ms 256 KB
subtask_1_01.txt AC 13 ms 256 KB
subtask_1_02.txt AC 5 ms 256 KB
subtask_1_03.txt AC 20 ms 256 KB
subtask_1_04.txt AC 20 ms 256 KB
subtask_1_05.txt AC 53 ms 256 KB
subtask_1_06.txt AC 20 ms 256 KB
subtask_1_07.txt AC 23 ms 256 KB
subtask_1_08.txt AC 8 ms 256 KB
subtask_1_09.txt AC 48 ms 256 KB
subtask_1_10.txt AC 75 ms 256 KB
subtask_1_11.txt AC 20 ms 256 KB
subtask_1_12.txt AC 14 ms 256 KB
subtask_1_13.txt AC 18 ms 256 KB
subtask_1_14.txt AC 8 ms 256 KB
subtask_1_15.txt AC 8 ms 256 KB
subtask_1_16.txt AC 24 ms 256 KB
subtask_1_17.txt AC 8 ms 256 KB
subtask_1_18.txt AC 11 ms 256 KB
subtask_1_19.txt AC 10 ms 256 KB
subtask_1_20.txt AC 26 ms 256 KB
subtask_1_21.txt AC 1 ms 256 KB
subtask_1_22.txt AC 1 ms 256 KB
subtask_1_23.txt AC 1 ms 256 KB
subtask_1_24.txt AC 1 ms 256 KB
subtask_1_25.txt AC 1 ms 256 KB
subtask_1_26.txt AC 1 ms 256 KB
subtask_1_27.txt AC 1 ms 256 KB