ARC 195
Table of Contents
https://atcoder.jp/contests/arc195
A. Twice Subsequence
https://atcoder.jp/contests/arc195/tasks/arc195_a
$A$ の前方から抜き出した $B$ に一致する部分列と、$A$ の後方から抜き出した $B$ に一致する部分列が異なれば Yes, そうでなければ No.
void solve() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    ll N, M;
    cin >> N >> M;
    vll A(N), B(M);
    rep(i, N) cin >> A[i];
    rep(i, M) cin >> B[i];
    vint lid;
    int j = 0;
    rep(i, N) {
        if (A[i] == B[j]) {
            lid.push_back(i);
            j++;
        }
        if (j == M) break;
    }
    vint rid;
    j = M - 1;
    for (int i = N - 1; i >= 0; i--) {
        if (A[i] == B[j]) {
            rid.push_back(i);
            j--;
        }
        if (j < 0) break;
    }
    reverse(all(rid));
    yesno((ll)rid.size() == M && (ll)lid.size() == M && rid != lid);
}
B. Uniform Sum
https://atcoder.jp/contests/arc195/tasks/arc195_b
C. Hamiltonian Pieces
https://atcoder.jp/contests/arc195/tasks/arc195_c
D. Swap and Erase
https://atcoder.jp/contests/arc195/tasks/arc195_d