Submission #2245396
Source Code Expand
#include <algorithm> #include <cstring> #include <deque> #include <functional> #include <iostream> #include <map> #include <numeric> #include <queue> #include <set> #include <vector> using namespace std; using ll = long long; const ll MOD = 1e9 + 7; ll mod_pow(ll x, ll e) { ll v = 1; for (; e > 0; e >>= 1) { if (e & 1) { v = v * x % MOD; } x = x * x % MOD; } return v; } int main() { int N, C; while (cin >> N >> C) { vector<int> A(N), B(N); for (int i = 0; i < N; i++) { cin >> A[i]; } for (int i = 0; i < N; i++) { cin >> B[i]; } vector<vector<ll>> tbl(N, vector<ll>(C + 1)); for (int i = 0; i < N; i++) { for (int a = 0; a <= C; a++) { ll sum = 0; for (int x = A[i]; x <= B[i]; x++) { (sum += mod_pow(x, a)) %= MOD; } tbl[i][a] = sum; } } vector<vector<ll>> dp(N, vector<ll>(C + 1, -1)); function<ll(int, int)> solve = [&](int k, int C) { ll &res = dp[k][C]; if (res != -1) { return res; } if (k == N - 1) { return res = tbl[k][C]; } res = 0; for (int a = 0; a <= C; a++) { (res += tbl[k][a] * solve(k + 1, C - a) % MOD) %= MOD; } return res; }; cout << solve(0, C) << endl; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Children and Candies |
User | kroton |
Language | C++14 (GCC 5.4.1) |
Score | 800 |
Code Size | 1386 Byte |
Status | AC |
Exec Time | 2627 ms |
Memory | 2816 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 | 1 ms | 256 KB |
0_001.txt | AC | 1 ms | 256 KB |
0_002.txt | AC | 1 ms | 256 KB |
0_003.txt | AC | 1 ms | 256 KB |
0_004.txt | AC | 1 ms | 256 KB |
1_005.txt | AC | 1 ms | 256 KB |
1_006.txt | AC | 1 ms | 256 KB |
1_007.txt | AC | 1 ms | 256 KB |
1_008.txt | AC | 1 ms | 256 KB |
1_009.txt | AC | 1 ms | 256 KB |
1_010.txt | AC | 1 ms | 256 KB |
1_011.txt | AC | 1 ms | 384 KB |
1_012.txt | AC | 1 ms | 384 KB |
1_013.txt | AC | 1 ms | 384 KB |
1_014.txt | AC | 310 ms | 2816 KB |
1_015.txt | AC | 312 ms | 2816 KB |
1_016.txt | AC | 312 ms | 2816 KB |
2_017.txt | AC | 1 ms | 256 KB |
2_018.txt | AC | 1 ms | 256 KB |
2_019.txt | AC | 7 ms | 256 KB |
2_020.txt | AC | 5 ms | 256 KB |
2_021.txt | AC | 3 ms | 384 KB |
2_022.txt | AC | 2 ms | 384 KB |
2_023.txt | AC | 2627 ms | 2816 KB |
2_024.txt | AC | 1118 ms | 2816 KB |
2_025.txt | AC | 293 ms | 1280 KB |
2_026.txt | AC | 16 ms | 384 KB |
2_027.txt | AC | 906 ms | 2432 KB |
2_028.txt | AC | 38 ms | 384 KB |
2_029.txt | AC | 11 ms | 256 KB |