Submission #1217674
Source Code Expand
#include <iostream> #include <algorithm> #include <string> #include <vector> using namespace std; #define MOD 1000000007 int N, C; int A[400], B[400]; int T[401][401]; int dp[401][401]; int pow[401][401]; int pow_mod(int x, int k) { int a = 1; while (k > 0) { if (k & 1LL) a = (1LL*a*x) % MOD; x = (1LL*x*x) % MOD; k >>= 1; } return a; } int g(int n, int c) { return (0LL + MOD + T[B[n]][c] - T[A[n]-1][c]) % MOD; } int f(int n, int c) { if (dp[n][c] != -1) return dp[n][c]; if (n == N-1) return g(n, c); int s = 0; for (int i=0; i<=c; i++) { s += (1LL * g(n, i) * f(n+1, c-i)) % MOD; s %= MOD; } return dp[n][c] = s; } signed main() { cin >> N >> C; for (int i=0; i<N; i++) cin >> A[i]; for (int i=0; i<N; i++) cin >> B[i]; for (int i=0; i<=400; i++) { for (int j=0; j<=400; j++) { pow[i][j] = pow_mod(i, j); } } for (int i=1; i<=400; i++) { for (int j=0; j<=400; j++) { T[i][j] = (T[i-1][j] + pow[i][j]) % MOD; } } for (int i=0; i<=N; i++) { for (int j=0; j<=C; j++) { dp[i][j] = -1; } } cout << f(0, C) << "\n"; return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Children and Candies |
User | funcsr |
Language | C++14 (GCC 5.4.1) |
Score | 800 |
Code Size | 1200 Byte |
Status | AC |
Exec Time | 333 ms |
Memory | 2176 KB |
Judge Result
Set Name | Sample | Subtask | All | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | 400 / 400 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt, 0_004.txt |
Subtask | 0_001, 0_003, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt |
All | 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt, 0_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 2_017.txt, 2_018.txt, 2_019.txt, 2_020.txt, 2_021.txt, 2_022.txt, 2_023.txt, 2_024.txt, 2_025.txt, 2_026.txt, 2_027.txt, 2_028.txt, 2_029.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
0_000.txt | AC | 8 ms | 1536 KB |
0_001.txt | AC | 8 ms | 1536 KB |
0_002.txt | AC | 8 ms | 1536 KB |
0_003.txt | AC | 8 ms | 1536 KB |
0_004.txt | AC | 8 ms | 1536 KB |
1_005.txt | AC | 7 ms | 1536 KB |
1_006.txt | AC | 7 ms | 1536 KB |
1_007.txt | AC | 8 ms | 1536 KB |
1_008.txt | AC | 7 ms | 1536 KB |
1_009.txt | AC | 8 ms | 1536 KB |
1_010.txt | AC | 7 ms | 1536 KB |
1_011.txt | AC | 8 ms | 2176 KB |
1_012.txt | AC | 8 ms | 2176 KB |
1_013.txt | AC | 8 ms | 2176 KB |
1_014.txt | AC | 332 ms | 2176 KB |
1_015.txt | AC | 333 ms | 2176 KB |
1_016.txt | AC | 333 ms | 2176 KB |
2_017.txt | AC | 8 ms | 1536 KB |
2_018.txt | AC | 8 ms | 1536 KB |
2_019.txt | AC | 8 ms | 1536 KB |
2_020.txt | AC | 8 ms | 1536 KB |
2_021.txt | AC | 8 ms | 2176 KB |
2_022.txt | AC | 8 ms | 2176 KB |
2_023.txt | AC | 332 ms | 2176 KB |
2_024.txt | AC | 333 ms | 2176 KB |
2_025.txt | AC | 59 ms | 2176 KB |
2_026.txt | AC | 9 ms | 2048 KB |
2_027.txt | AC | 264 ms | 2048 KB |
2_028.txt | AC | 12 ms | 1664 KB |
2_029.txt | AC | 9 ms | 1536 KB |