Submission #61772653
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
#define in(a) \
for (auto &x : a) \
cin >> x;
#define rep(i, a, b) for (int i = a; i < b; i++)
#define out(a) \
for (auto x : a) \
cout << x << " ";
#define pb push_back
#define int long long
typedef vector<int> vi;
typedef pair<int, int> pii;
// turn = 0: first
// turn = 1: second
// total: reduce it
int solve(int player, int total, vector<int> &moves)
{
int win = 0;
for (auto &x : moves) {
if (total - x >= 0) {
if (!solve(player ^ 1, total - x, moves)) {
win = 1;
break;
}
}
}
return win;
}
void solve()
{
int n, total;
cin >> n >> total;
vi v(n);
in(v);
vector<vector<int>> dp(2, vector<int>(total + 1, 0));
// dp[i][j] = {!dp[i^1][j-x]} for all x in v
// that is there is one way that I can win
// then mark as true
for (int j = 0; j <= total; j++) {
for (int i = 0; i < 2; i++) {
for (auto x : v) {
if (j - x >= 0) {
if (dp[i ^ 1][j - x] == 0) {
dp[i][j] = 1;
break;
}
}
}
}
}
cout << (dp[0][total] ? "First" : "Second") << '\n';
}
int32_t main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | K - Stones |
| User | rakim0 |
| Language | C++ 20 (gcc 12.2) |
| Score | 100 |
| Code Size | 1805 Byte |
| Status | AC |
| Exec Time | 9 ms |
| Memory | 5520 KiB |
Judge Result
| Set Name | All | ||
|---|---|---|---|
| Score / Max Score | 100 / 100 | ||
| Status |
|
| Set Name | Test Cases |
|---|---|
| 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 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 0_00 | AC | 1 ms | 3408 KiB |
| 0_01 | AC | 1 ms | 3468 KiB |
| 0_02 | AC | 1 ms | 3468 KiB |
| 0_03 | AC | 1 ms | 3328 KiB |
| 0_04 | AC | 1 ms | 3428 KiB |
| 0_05 | AC | 2 ms | 5412 KiB |
| 1_00 | AC | 1 ms | 3324 KiB |
| 1_01 | AC | 2 ms | 5288 KiB |
| 1_02 | AC | 2 ms | 5376 KiB |
| 1_03 | AC | 9 ms | 5356 KiB |
| 1_04 | AC | 9 ms | 5516 KiB |
| 1_05 | AC | 9 ms | 5452 KiB |
| 1_06 | AC | 7 ms | 5520 KiB |
| 1_07 | AC | 7 ms | 5420 KiB |
| 1_08 | AC | 6 ms | 5448 KiB |
| 1_09 | AC | 6 ms | 5408 KiB |
| 1_10 | AC | 6 ms | 5288 KiB |
| 1_11 | AC | 7 ms | 5516 KiB |
| 1_12 | AC | 7 ms | 5356 KiB |
| 1_13 | AC | 7 ms | 5416 KiB |
| 1_14 | AC | 7 ms | 5464 KiB |
| 1_15 | AC | 7 ms | 5372 KiB |
| 1_16 | AC | 7 ms | 5384 KiB |
| 1_17 | AC | 7 ms | 5424 KiB |
| 1_18 | AC | 7 ms | 5420 KiB |
| 1_19 | AC | 7 ms | 5420 KiB |
| 1_20 | AC | 7 ms | 5372 KiB |
| 1_21 | AC | 7 ms | 5344 KiB |