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
AC × 2
AC × 10
AC × 13
AC × 13
AC × 23
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