Submission #2549063
Source Code Expand
#include<iostream> #include<algorithm> using namespace std; int const MAX = 2003; long long dp1[MAX][MAX], dp2[MAX][MAX], a[MAX]; long long const MOD = 1000000007; long long mod_plus(long long x, long long y) { return (x + y) % MOD; } long long mod_mult(long long x, long long y) { return (x * y)%MOD; } long long f_dp(int i, int j, int type) { if (i < 0 || j < 0) { return 0; } else if(type == 1){ return dp1[i][j]; } else { return dp2[i][j]; } } int main() { int n, m, q; cin >> n >> m >> q; for (int i = 1; i <= n; i++) { cin >> a[i]; } for (int i = 0; i <= n; i++) { dp1[i][0] = 1; dp2[i][0] = 1; } for (int j = 1; j <= m; j++) { dp1[0][j] = 0; } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { dp1[i][j] = mod_plus(mod_plus( f_dp(i, j - 1, 1), MOD - f_dp(i - 1, j - 1 - a[i], 1)), f_dp(i - 1, j, 1)); } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { dp2[i][j] = mod_plus(mod_plus(f_dp(n, j, 1), MOD - f_dp(n, j - 1, 1)), f_dp(i, j - 1 - a[i], 2)); } } for (int i = 0; i < q; i++) { int k, x; cin >> k >> x; cout << f_dp(k, m - x,2) << endl; } }
Submission Info
Submission Time | |
---|---|
Task | D - 注文の多い高橋商店 |
User | nejineji |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1192 Byte |
Status | AC |
Exec Time | 1182 ms |
Memory | 67712 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | Subtask4 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 10 / 10 | 20 / 20 | 50 / 50 | 20 / 20 | ||||||||||
Status |
|
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt |
Subtask1 | sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt |
Subtask2 | sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt |
Subtask3 | sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask3_01.txt, subtask3_02.txt, subtask3_03.txt |
Subtask4 | sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask3_01.txt, subtask3_02.txt, subtask3_03.txt, subtask4_01.txt, subtask4_02.txt, subtask4_03.txt, subtask4_04.txt, subtask4_05.txt, subtask4_06.txt, subtask4_07.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 2 ms | 2304 KB |
sample_02.txt | AC | 2 ms | 2304 KB |
subtask1_01.txt | AC | 2 ms | 2304 KB |
subtask1_02.txt | AC | 2 ms | 2304 KB |
subtask1_03.txt | AC | 2 ms | 2304 KB |
subtask1_04.txt | AC | 2 ms | 2560 KB |
subtask1_05.txt | AC | 2 ms | 4864 KB |
subtask1_06.txt | AC | 3 ms | 4864 KB |
subtask1_07.txt | AC | 3 ms | 4864 KB |
subtask1_08.txt | AC | 3 ms | 4864 KB |
subtask2_01.txt | AC | 105 ms | 5248 KB |
subtask2_02.txt | AC | 204 ms | 5760 KB |
subtask2_03.txt | AC | 205 ms | 5632 KB |
subtask3_01.txt | AC | 34 ms | 33024 KB |
subtask3_02.txt | AC | 71 ms | 62848 KB |
subtask3_03.txt | AC | 70 ms | 62848 KB |
subtask4_01.txt | AC | 1001 ms | 53632 KB |
subtask4_02.txt | AC | 1156 ms | 67712 KB |
subtask4_03.txt | AC | 1032 ms | 62208 KB |
subtask4_04.txt | AC | 1018 ms | 3328 KB |
subtask4_05.txt | AC | 1182 ms | 67712 KB |
subtask4_06.txt | AC | 1104 ms | 63872 KB |
subtask4_07.txt | AC | 1170 ms | 67456 KB |