結果
問題 | No.2240 WAC |
ユーザー | shkiiii_ |
提出日時 | 2023-03-10 21:32:48 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 15 ms / 2,000 ms |
コード長 | 982 bytes |
コンパイル時間 | 1,623 ms |
コンパイル使用メモリ | 171,212 KB |
実行使用メモリ | 5,436 KB |
最終ジャッジ日時 | 2024-09-18 03:45:46 |
合計ジャッジ時間 | 3,133 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 43 |
ソースコード
#include<bits/stdc++.h> // #include<atcoder/all> // #include<boost/multiprecision/cpp_int.hpp> using namespace std; // using namespace atcoder; // using bint = boost::multiprecision::cpp_int; using ll = long long; using ull = unsigned long long; using P = pair<int,int>; #define rep(i,n) for(ll i = 0;i < (ll)n;i++) #define ALL(x) (x).begin(),(x).end() // #define MOD 1000000007 #define MOD 998244353 int main(){ int n,m; string s; cin >> n >> m >> s; deque<int> w,c,a; rep(i,2*(n+m)){ if(s[i] == 'W')w.push_back(i); else if(s[i] == 'A')a.push_back(i); else c.push_back(i); } bool is = true; while(!w.empty()){ if(a.empty()){ is = false; break; } if(w.back() > a.back())is = false; w.pop_back();a.pop_back(); } while(!c.empty()){ if(a.empty()){ is = false; break; } if(c.front() < a.front())is = false; c.pop_front();a.pop_front(); } cout << (is ? "Yes\n" : "No\n"); return 0; }