Submission #1350819


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

#define for_(i,a,b) for(int i=(a);i<(b);++i)

int n, m, a[55], b[55], dp[2][2][55][55][55][55];

int rec(int cur_a, int cur_b, int prv_a, int prv_b, int sum_a, int sum_b, int turn, int pass) {
	if (pass == 2) return 0;
	if (cur_a == n && cur_b == m && prv_a == n && prv_b == m) return 0;
	
	int& res = dp[turn][pass][cur_a][cur_b][prv_a][prv_b];
	if (abs(res) != 1e9) return res;
	
	if (turn) {
		if (cur_b < m) {
			int nxt_sum_a = (b[cur_b] == -1 ? 0 : sum_a), nxt_sum_b = sum_b + (b[cur_b] == -1 ? 0 : b[cur_b]);
			res = min(res, rec(cur_a, cur_b + 1, (b[cur_b] == -1 ? cur_a : prv_a), prv_b, nxt_sum_a, nxt_sum_b, 0, 0));
		}
		res = min(res, rec(cur_a, cur_b, cur_a, cur_b, 0, 0, 0, (cur_a == prv_a && cur_b == prv_b ? pass + 1 : 0)) + sum_a - sum_b);
	} else {
		if (cur_a < n) {
			int nxt_sum_a = sum_a + (a[cur_a] == -1 ? 0 : a[cur_a]), nxt_sum_b = (a[cur_a] == -1 ? 0 : sum_b);
			res = max(res, rec(cur_a + 1, cur_b, prv_a, (a[cur_a] == -1 ? cur_b : prv_b), nxt_sum_a, nxt_sum_b, 1, 0));
		}
		res = max(res, rec(cur_a, cur_b, cur_a, cur_b, 0, 0, 1, (cur_a == prv_a && cur_b == prv_b ? pass + 1 : 0)) + sum_a - sum_b);
	}
	
	return res;
}

int main() {
	cin >> n >> m;
	for_(i,0,n) cin >> a[i];
	for_(i,0,m) cin >> b[i];
	
	for_(t,0,2) for_(p,0,2) for_(i,0,55) for_(j,0,55) for_(ii,0,55) for_(jj,0,55) dp[t][p][i][j][ii][jj] = (t ? 1e9 : -(1e9));
	
	cout << rec(0, 0, 0, 0, 0, 0, 0, 0) << endl;
}

Submission Info

Submission Time
Task D - インビジブル
User tsukasa_diary
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1494 Byte
Status AC
Exec Time 60 ms
Memory 143232 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 37
Set Name Test Cases
All 00_sample_00, 00_sample_01, 00_sample_02, 30_random_small_000, 30_random_small_001, 30_random_small_002, 30_random_small_003, 30_random_small_004, 30_random_small_005, 30_random_small_006, 30_random_small_007, 30_random_small_008, 30_random_small_009, 31_random_skewed_000, 31_random_skewed_001, 31_random_skewed_002, 31_random_skewed_003, 31_random_skewed_004, 32_random_skewed_000, 32_random_skewed_001, 32_random_skewed_002, 32_random_skewed_003, 32_random_skewed_004, 33_random_frequent_invisible_000, 33_random_frequent_invisible_001, 33_random_frequent_invisible_002, 33_random_frequent_invisible_003, 33_random_frequent_invisible_004, 35_random_all_invisible_000, 36_random_all_same_score_000, 37_increasing_000, 38_decreasing_000, 40_random_max_000, 40_random_max_001, 40_random_max_002, 40_random_max_003, 40_random_max_004
Case Name Status Exec Time Memory
00_sample_00 AC 52 ms 143232 KB
00_sample_01 AC 52 ms 143232 KB
00_sample_02 AC 52 ms 143232 KB
30_random_small_000 AC 52 ms 143232 KB
30_random_small_001 AC 52 ms 143232 KB
30_random_small_002 AC 52 ms 143232 KB
30_random_small_003 AC 52 ms 143232 KB
30_random_small_004 AC 52 ms 143232 KB
30_random_small_005 AC 52 ms 143232 KB
30_random_small_006 AC 52 ms 143232 KB
30_random_small_007 AC 52 ms 143232 KB
30_random_small_008 AC 52 ms 143232 KB
30_random_small_009 AC 52 ms 143232 KB
31_random_skewed_000 AC 52 ms 143232 KB
31_random_skewed_001 AC 52 ms 143232 KB
31_random_skewed_002 AC 52 ms 143232 KB
31_random_skewed_003 AC 52 ms 143232 KB
31_random_skewed_004 AC 52 ms 143232 KB
32_random_skewed_000 AC 52 ms 143232 KB
32_random_skewed_001 AC 52 ms 143232 KB
32_random_skewed_002 AC 52 ms 143232 KB
32_random_skewed_003 AC 52 ms 143232 KB
32_random_skewed_004 AC 52 ms 143232 KB
33_random_frequent_invisible_000 AC 52 ms 143232 KB
33_random_frequent_invisible_001 AC 53 ms 143232 KB
33_random_frequent_invisible_002 AC 53 ms 143232 KB
33_random_frequent_invisible_003 AC 52 ms 143232 KB
33_random_frequent_invisible_004 AC 52 ms 143232 KB
35_random_all_invisible_000 AC 52 ms 143232 KB
36_random_all_same_score_000 AC 60 ms 143232 KB
37_increasing_000 AC 60 ms 143232 KB
38_decreasing_000 AC 60 ms 143232 KB
40_random_max_000 AC 53 ms 143232 KB
40_random_max_001 AC 54 ms 143232 KB
40_random_max_002 AC 54 ms 143232 KB
40_random_max_003 AC 54 ms 143232 KB
40_random_max_004 AC 54 ms 143232 KB