Submission #97301


Source Code Expand

#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <vector>
using namespace std;

#define FOR(it, c) for(__typeof((c).begin()) it = (c).begin(); it != (c).end(); it++)
#define SZ(c) ((int)(c).size())

int a[1005], b[1005];
int sa[1005], sb[1005];
int dp[1005][1005];
int u[1005][1005];
int A, B, S=0;

int go(int l, int r) {
	if(u[l][r]) return dp[l][r];
	u[l][r]=1;
	if(l==A && r==B) return dp[l][r]=0;
	if(r<B) dp[l][r]=max(dp[l][r], S-sa[l]-sb[r+1]-go(l, r+1)+b[r+1]);
	if(l<A) dp[l][r]=max(dp[l][r], S-sa[l+1]-sb[r]-go(l+1, r)+a[l+1]);
	return dp[l][r];
}

int main(void) {
	scanf("%d%d", &A, &B);
	for(int i=1;i<=A;i++) scanf("%d", &a[i]);
	for(int i=1;i<=B;i++) scanf("%d", &b[i]);
	for(int i=1;i<=A;i++) sa[i] = sa[i-1] + a[i];
	for(int i=1;i<=B;i++) sb[i] = sb[i-1] + b[i];
	S = sa[A]+sb[B];
	int ans=go(0, 0);
	printf("%d\n", ans);
	return 0;
}

Submission Info

Submission Time
Task B - ゲーム
User tmt514
Language C++ (G++ 4.6.4)
Score 3
Code Size 923 Byte
Status AC
Exec Time 76 ms
Memory 8716 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:27:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:28:42: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:29:42: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]

Judge Result

Set Name All
Score / Max Score 3 / 3
Status
AC × 5
Set Name Test Cases
All 00, 01, 02, 90, 91
Case Name Status Exec Time Memory
00 AC 23 ms 784 KB
01 AC 59 ms 7072 KB
02 AC 76 ms 8716 KB
90 AC 23 ms 740 KB
91 AC 21 ms 740 KB