The included source code implements a parallel search algorithm on an input sorted sequence of strings, as described in the included problem description text file. The parallel algorithm divides the input data into a number of non-intersecting segments, one per thread, and does parallel binary searches on the assigned segment by each thread for each of the multiple search strings. POSIX Threads is used for implementing the parallelism. The code was intended for Linux OS and includes a makefile to build the application.
DISCLAIMER: This code is provided by the author as a submitted contest entry, and is intended for educational use only. The code is not guaranteed to solve all instances of the input data sets and may require modifications to work in your own specific environment.