提出 #19675436


ソースコード 拡げる

Copy
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define MOD int(1e9+7)
#define INF int(1e9+7)
#define LINF ll(1e18+7)
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define P pair<ll,ll>
#define chmax(x,y) (x = max(x,y))
#define chmin(x,y) (x = min(x,y))

int a,b;
int l[1100];
int r[1100];
int dp1[1100][1100];
int dp2[1100][1100];

int main(){
  cin>>a>>b;
  rep(i,a) cin>>l[i];
  rep(i,b) cin>>r[i];
  dp1[a][b]=0;
  dp2[a][b]=0;
  for(int i=a; i>=0; i--)for(int j=b; j>=0; j--){
    if((i+j)%2==(a+b)%2){
      if(i-1>=0) chmax(dp1[i-1][j],dp1[i][j]+l[a-i]);
      if(j-1>=0) chmax(dp1[i][j-1],dp1[i][j]+r[b-j]);
      if(i-1>=0) dp2[i-1][j]=dp2[i][j];
      if(j-1>=0) dp2[i][j-1]=dp2[i][j];
    }else{
      if(i-1>=0) chmax(dp2[i-1][j],dp2[i][j]+l[a-i]);
      if(j-1>=0) chmax(dp2[i][j-1],dp2[i][j]+r[b-j]);
      if(i-1>=0) dp1[i-1][j]=dp1[i][j];
      if(j-1>=0) dp1[i][j-1]=dp1[i][j];
    }
  }
  cout<<dp1[0][0]<<endl;
}

提出情報

提出日時
問題 B - ゲーム
ユーザ uytvcc
言語 C++ (GCC 9.2.1)
得点 0
コード長 995 Byte
結果 WA
実行時間 19 ms
メモリ 12100 KB

ジャッジ結果

セット名 All
得点 / 配点 0 / 3
結果
AC × 2
WA × 3
セット名 テストケース
All 00, 01, 02, 90, 91
ケース名 結果 実行時間 メモリ
00 WA 8 ms 3516 KB
01 WA 16 ms 10232 KB
02 WA 19 ms 12100 KB
90 AC 4 ms 3568 KB
91 AC 2 ms 3540 KB