Untitled
unknown
c_cpp
2 years ago
1.3 kB
4
Indexable
#include <bits/stdc++.h> using namespace std; const int maxn = 100100; const int maxn2 = 1e2+7; typedef long long ll; #define ios ios::sync_with_stdio(false) , cin.tie(0) , cout.tie(0) #define pb(x) push_back(x) #define all(x) sort(x.begin() , x.end()) void dbg(){ cerr << endl; } template<typename H, typename... T> void dbg(H h, T... t){ cerr << h << ", "; dbg(t...); } #define er(...) cerr << __LINE__ << " <" << #__VA_ARGS__ << ">: ", dbg(__VA_ARGS__) int a[maxn2] , n; int dp[maxn]; bool win(int k){ // er(k , dp[k]); if(dp[k] != -1){ return dp[k]; } dp[k] = 0; for(int i = 0 ; i < n ; i++){ if(k >= a[i]) if(win(k - a[i]) == 0){ //er(k - a[i]); if(k - a[i] == 1) cout << "ha"; // cout << k - a[i] << '\n'; dp[k] = 1; break; } } return dp[k]; } int main(){ ios; int k; cin >> n >> k; for(int i = 0 ; i < maxn ; i++) dp[i] = -1; for(int i = 0 ; i < n ; i++){ cin >> a[i]; } for(int i = 0 ; i < a[0] ; i++) dp[i] = 0; (win(k) == 1) ? cout << "First" : cout << "Second"; return 0; }
Editor is loading...