Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。
・問題 "Binary Search"
https://onlinejudge.u-aizu.ac.jp/problems/ITP2_6_A
要素が昇順にソートされた数列 A={a0,a1,...,an−1}に対して、クエリとして与えられた値kが存在するか報告してください。
僕が作成、提出したコードは、以下のとおりです。
Aizu Online Judge in C++ #ITP2_6_A : Binary Search
/* Aizu Online Judge in C++ #ITP2_6_A : Binary Search https://onlinejudge.u-aizu.ac.jp/problems/ITP2_6_A 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ int n; cin>>n; vector<int> a(n); for(int i=0;i<n;i++){ cin>>a[i]; } sort(a.begin(),a.end()); int q; cin>>q; vector<int> k(q); for(int i=0;i<q;i++){ cin>>k[i]; cout<<binary_search(a.begin(),a.end(),k[i])<<endl; } return 0; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/