第11回日本情報オリンピック 本選(過去問)から、その提出コードの解答例です。
AtCoderとは、コンテストを通じて、プログラミングやアルゴリズムを学習するサービスです。
atcoder.jp
プログラミングコンテストとは、「与えられた問題をいかに素早く、正確に」解くことができるかを競うものです。
「競技プログラミング」を略して、「競プロ」などと呼ばれています。
#B - たのしいカードゲーム (Card Game is Fun)
https://www.ioi-jp.org/joi/2011/2012-ho-prob_and_sol/2012-ho.pdf#page=4
僕が作成、提出したコードは、以下のとおりです。
/* AtCoder Problems in C++ #B - たのしいカードゲーム (Card Game is Fun) https://www.ioi-jp.org/joi/2011/2012-ho-prob_and_sol/2012-ho.pdf#page=4 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n,m; cin>>n>>m; vector<int> a(n),b(m); for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=0;i<m;i++){ cin>>b[i]; } int ans=0; for(int i=0;i<m;i++){ int j=i; int k=0; while(j<m){ while(k<n && b[j]!=a[k]){ k++; } if(k==n){ break; } j++; k++; } ans=max(ans,j-i); } cout<<ans<<endl; return 0; }