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; }