Python(C++)でJOI難易度5を埋める #32

これで難易度5はおしまい

B - たのしいカードゲーム (Card Game is Fun)

Bは前から何枚取り除くかを考えればよいので,取り除くBの枚数と,そのときのAとの共通部分を調べればいい.

#include <bits/stdc++.h>
using namespace std;

int main() {
    int a, b;
    cin >> a >> b;
    vector<int> cards1(a);
    vector<int> cards2(b);

    for (int i = 0; i < a; i ++) {
        cin >> cards1.at(i);
    }

    for (int i = 0; i < b; i ++) {
        cin >> cards2.at(i);
    }

    int ans = 0;
    for (int i = 0; i < b; i ++) {
        int cnt = 0;
        for (int j = 0; j < a; j++) {
            if (cnt + i >= b) {
                break;
            }
            if (cards1.at(j) == cards2.at(i + cnt)) {
                cnt++;
            }
        }
        ans = max(ans, cnt);
    }

    cout << ans << endl;
}

PythonだとREが出たのに,C++に書きかえたら消えた. テストデータに制約とは異なった改行が存在する.