Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <algorithm>
- #include <bitset>
- #include <cctype>
- #include <cmath>
- #include <complex>
- #include <cstdio>
- #include <cstdlib>
- #include <cstring>
- #include <ctime>
- #include <deque>
- #include <fstream>
- #include <iostream>
- #include <list>
- #include <climits>
- #include <map>
- #include <memory>
- #include <queue>
- #include <set>
- #include <sstream>
- #include <stack>
- #include <string>
- #include <utility>
- #include <vector>
- #include <iomanip>
- using namespace std;
- #define REP(i,n) for(__typeof(n) i=0; i<(n); i++)
- #define FOR(i,a,b) for(__typeof(b) i=(a); i<=(b); i++)
- #define READ(f) freopen(f, "r", stdin)
- #define Max 10000
- int marble[Max + 10];
- int n;
- int search(int item) {
- int begin, end, mid;
- begin = 0, end = n - 1;
- if(item == marble[begin]) return begin;
- mid = (begin + end) /2;
- while (begin <= end) {
- if(item == marble[mid]) return mid;
- if(item < marble[mid]) end = mid - 1;
- else begin = mid + 1;
- mid = (begin + end) / 2;
- }
- return -1;
- }
- int main() {
- //READ("input.txt");
- int q, query;
- int caseNo = 1;
- while(scanf("%d%d", &n, &q)) {
- if(!n && !q) break;
- REP(i, n) {
- scanf("%d", &marble[i]);
- }
- sort(marble, marble+n);
- printf("CASE# %d:\n", caseNo);
- REP( k, q ) {
- scanf("%d", &query);
- int found = search(query);
- if(found >= 0) printf("%d found at %d\n", query, found + 1);
- else printf("%d not found\n", query);
- }
- caseNo++;
- }
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement