UVa11849 CD
#include <bits/stdc++.h> using namespace std; int main() { int N, M; while(cin >> N >> M && (N|M)) { vector<int> vec(N); for(int i=0; i<N; i++) { cin >> vec[i]; } int sum = 0; for(int i=0; i<M; i++) { int x; cin >> x; sum += binary_search(vec.begin(), vec.end(), x); } cout << sum << endl; } return 0; }
以下のコードは昇順で入力が来るのを忘れていて書いたコード。これでも通る。
#include <bits/stdc++.h> using namespace std; int main() { int N, M; while(cin >> N >> M && (N|M)) { set<int> st; for(int i=0; i<N; i++) { int x; cin >> x; st.insert(x); } int sum = 0; for(int i=0; i<M; i++) { int x; cin >> x; sum += st.count(x); } cout << sum << endl; } return 0; }