// compile: make data
// run: time ./data < big.in > big.out && diff big.out big.ans
// run: ./data < data.in
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#ifdef LOCAL
#include <debug/codeforces.h>
#define debug(x...) _debug_print(#x, x);
#define Debug(x...) _debug_print_format(#x, x);
std::ifstream terminal("/dev/tty");
#define PP cerr<<"\033[1;30mpause...\e[0m",terminal.ignore();
#else
#define debug(x...)
#define Debug(x...)
#define PP
#endif
template<typename...Args> void print_(Args...args){((cout<<args<<" "),...)<<endl;}
#define VI vector<int>
#define VII vector<vector<int>>
#define VIII vector<vector<vector<int>>>
#define rep(i,a,b) for(int i=(a);i<(int)(b);++i)
#define sz(v) ((int)(v).size())
#define print(...) print_(__VA_ARGS__);
#define FIND(a, x) ((find(a.begin(),a.end(),(x))!=a.end())?1:0)
#define cmin(x,...) x=min({(x), __VA_ARGS__})
#define cmax(x,...) x=max({(x), __VA_ARGS__})
#define INTMAX (int)(9223372036854775807)
#define INF (int)(1152921504606846976)
#define NaN (int)(0x8b88e1d0595d51d1)
#define double long double
#define int long long
#define uint unsigned long long
#define MAXN 200010
int32_t main() {
ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
int n, m; cin >> n >> m;
vector<int> a(m);
rep(i, 0, m) cin >> a[i];
vector<int> sg(n+1, -1);
vector<int> cnt(n+1, 0);
auto mex = [&](vector<int> &f) {
for (int x: f) ++cnt[x];
int res = 0;
while (cnt[res]) ++res;
for (int x: f) cnt[x] = 0;
return res;
};
rep(i, 0, n+1) {
vector<int> v;
rep(j, 0, m) if (i - a[j] >= 0) v.push_back(sg[i - a[j]]);
sg[i] = mex(v);
}
rep(i, 1, n+1) printf("%c", sg[i] ? 'W' : 'L');
printf("\n");
return 0;
}
[3416]ae888 – Link vào chính thức và hướng dẫn chơi baccarat,ae888 cung cấp link vào chính thức, hỗ trợ tải app ae888 nhanh chóng. Tìm hiểu luật chơi xóc đĩa online và nạp tiền casino qua momo dễ dàng. Truy cập ngay! visit: ae888