Submission #49346

# Submission time Handle Problem Language Result Execution time Memory
49346 2018-05-26T09:34:44 Z 3zp Kangaroo (CEOI16_kangaroo) C++14
51 / 100
2000 ms 24700 KB
#include<bits/stdc++.h>
using namespace std;
int dp[2][2009][2009][3];
int prefdp[2][2009][2009][3];
int mod = 1e9+ 7;
main(){
    int n,l,r;
    cin >> n >> l >> r;
    dp[1][1][1][1] = 1;
    dp[1][1][1][0] = 1;
    prefdp[1][1][1][1] = 1;
    prefdp[1][1][1][0] = 1;
    for(int N = 2; N <= n; N++){
        int n0 = N % 2, n1 = 1 - n0;
        for(int L = 1; L <= n; L++){
            for(int R = max(1 ,r - (n- N)); R <= r; R++){
                for(int D = 0; D < 2; D++){
                    dp[n0][L][R][D] = 0;
                    if(L != R){
                        int nR = R;
                        if (R > L) nR--;
                        if(D == 0){
                            dp[n0][L][R][D] += prefdp[n1][N-1][nR][1-D] - prefdp[n1][L-1][nR][1-D] + mod;
                            while (dp[n0][L][R][D] >= mod)  dp[n0][L][R][D]-=mod;
                        }
                        else {
                            dp[n0][L][R][D] += prefdp[n1][L-1][nR][1-D];
                            while (dp[n0][L][R][D] >= mod)  dp[n0][L][R][D]-=mod;
                        }
                    }
                    prefdp[n0][L][R][D] = prefdp[n0][L-1][R][D] + dp[n0][L][R][D];
                    if( prefdp[n0][L][R][D] >= mod)  prefdp[n0][L][R][D] -=  mod;
                }

            }
        }
    }
    cout << (dp[n%2][l][r][0] + dp[n%2][l][r][1]) % mod << endl;
}

Compilation message

kangaroo.cpp:6:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(){
      ^
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 2 ms 488 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 2 ms 488 KB Output is correct
3 Correct 2 ms 816 KB Output is correct
4 Correct 4 ms 1236 KB Output is correct
5 Correct 3 ms 1236 KB Output is correct
6 Correct 3 ms 1312 KB Output is correct
7 Correct 3 ms 1312 KB Output is correct
8 Correct 3 ms 1328 KB Output is correct
9 Correct 3 ms 1328 KB Output is correct
10 Correct 4 ms 1328 KB Output is correct
11 Correct 3 ms 1328 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 2 ms 488 KB Output is correct
3 Correct 2 ms 816 KB Output is correct
4 Correct 4 ms 1236 KB Output is correct
5 Correct 3 ms 1236 KB Output is correct
6 Correct 3 ms 1312 KB Output is correct
7 Correct 3 ms 1312 KB Output is correct
8 Correct 3 ms 1328 KB Output is correct
9 Correct 3 ms 1328 KB Output is correct
10 Correct 4 ms 1328 KB Output is correct
11 Correct 3 ms 1328 KB Output is correct
12 Correct 58 ms 4412 KB Output is correct
13 Correct 40 ms 4412 KB Output is correct
14 Correct 43 ms 5696 KB Output is correct
15 Correct 69 ms 5696 KB Output is correct
16 Correct 8 ms 5696 KB Output is correct
17 Correct 64 ms 5696 KB Output is correct
18 Correct 39 ms 5696 KB Output is correct
19 Correct 63 ms 5696 KB Output is correct
20 Correct 77 ms 5696 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 2 ms 488 KB Output is correct
3 Correct 2 ms 816 KB Output is correct
4 Correct 4 ms 1236 KB Output is correct
5 Correct 3 ms 1236 KB Output is correct
6 Correct 3 ms 1312 KB Output is correct
7 Correct 3 ms 1312 KB Output is correct
8 Correct 3 ms 1328 KB Output is correct
9 Correct 3 ms 1328 KB Output is correct
10 Correct 4 ms 1328 KB Output is correct
11 Correct 3 ms 1328 KB Output is correct
12 Correct 58 ms 4412 KB Output is correct
13 Correct 40 ms 4412 KB Output is correct
14 Correct 43 ms 5696 KB Output is correct
15 Correct 69 ms 5696 KB Output is correct
16 Correct 8 ms 5696 KB Output is correct
17 Correct 64 ms 5696 KB Output is correct
18 Correct 39 ms 5696 KB Output is correct
19 Correct 63 ms 5696 KB Output is correct
20 Correct 77 ms 5696 KB Output is correct
21 Execution timed out 2061 ms 24700 KB Time limit exceeded
22 Halted 0 ms 0 KB -