提出 #14886252


ソースコード 拡げる

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

bool findWinner(int n, vector < int > &choices) {
  int k = choices.size();
  vector < vector < bool > > dp(k + 1, vector < bool >(n + 1, false));
  dp[0][0] = true;
  for (int i = 1; i < k + 1; i++) {
    for (int j = 1; j < n + 1; j++) {
      if (j >= choices[i - 1]) {
        dp[i][j] = !(dp[i][j - choices[i - 1]]);
      }
      dp[i][j] = dp[i][j] || dp[i - 1][j];
    }
  }

  // for (int i = 0; i < k + 1; i++) {
  //   for (int j = 0; j < n + 1; j++) {
  //     cout<<dp[i][j]<<" ";
  //   }
  //   cout<<endl;
  // }

  return dp[k][n];
}

int main() {
  int n;
  int k;
  cin>>k;
  cin>>n;
  vector < int > choices(k);
  for (int i = 0; i < k; i++) {
    cin>>choices[i];
  }

  bool result = findWinner(n, choices);
  if (result == true) {
    cout<<"First"<<endl;
  } else {
    cout<<"Second"<<endl;
  }
  return 0;
}

提出情報

提出日時
問題 K - Stones
ユーザ shivamkasat
言語 C++ (GCC 9.2.1)
得点 0
コード長 925 Byte
結果 WA
実行時間 49 ms
メモリ 4576 KiB

ジャッジ結果

セット名 All
得点 / 配点 0 / 100
結果
AC × 20
WA × 8
セット名 テストケース
All 0_00, 0_01, 0_02, 0_03, 0_04, 0_05, 1_00, 1_01, 1_02, 1_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11, 1_12, 1_13, 1_14, 1_15, 1_16, 1_17, 1_18, 1_19, 1_20, 1_21
ケース名 結果 実行時間 メモリ
0_00 AC 8 ms 3488 KiB
0_01 AC 2 ms 3416 KiB
0_02 AC 2 ms 3544 KiB
0_03 AC 2 ms 3596 KiB
0_04 AC 2 ms 3420 KiB
0_05 AC 3 ms 3628 KiB
1_00 AC 2 ms 3528 KiB
1_01 AC 3 ms 3456 KiB
1_02 AC 5 ms 3656 KiB
1_03 WA 44 ms 4424 KiB
1_04 AC 44 ms 4496 KiB
1_05 AC 46 ms 4424 KiB
1_06 AC 43 ms 4488 KiB
1_07 WA 41 ms 4364 KiB
1_08 AC 41 ms 4480 KiB
1_09 WA 32 ms 4488 KiB
1_10 AC 48 ms 4576 KiB
1_11 WA 46 ms 4572 KiB
1_12 AC 45 ms 4416 KiB
1_13 AC 47 ms 4572 KiB
1_14 AC 44 ms 4488 KiB
1_15 WA 45 ms 4420 KiB
1_16 AC 49 ms 4572 KiB
1_17 WA 47 ms 4420 KiB
1_18 AC 48 ms 4340 KiB
1_19 WA 48 ms 4492 KiB
1_20 AC 41 ms 4496 KiB
1_21 WA 42 ms 4576 KiB