#include <iostream>
using namespace std;
const int SIZE = 18;
int accountNums[SIZE] = {5658845, 4520125, 7895122, 8777541, 8451277, 1302850,
8080152, 4562555, 5552012, 5050552, 7825877, 1250255,
1005231, 6545231, 3852085, 7576651, 7881200, 4581002};
void selectionSort(int arr[], int size) {
for (int i = 0; i < size - 1; ++i) {
int min = i;
for (int j = i + 1; j < size; ++j) {
if (arr[j] < arr[min]) {
min = j;
}
}
if (min != i) {
swap(arr[i], arr[min]);
}
}
}
bool binarySearch(int arr[], int size, int target) {
int left = 0;
int right = size - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
return true;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return false;
}
int main() {
int inputNumber;
cout << "Enter a charge account number: ";
cin >> inputNumber;
selectionSort(accountNums, SIZE);
if (binarySearch(accountNums, SIZE, inputNumber)) {
cout << "The account number is valid." << endl;
} else {
cout << "The account number is invalid." << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IFNJWkUgPSAxODsKaW50IGFjY291bnROdW1zW1NJWkVdID0gezU2NTg4NDUsIDQ1MjAxMjUsIDc4OTUxMjIsIDg3Nzc1NDEsIDg0NTEyNzcsIDEzMDI4NTAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4MDgwMTUyLCA0NTYyNTU1LCA1NTUyMDEyLCA1MDUwNTUyLCA3ODI1ODc3LCAxMjUwMjU1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwNTIzMSwgNjU0NTIzMSwgMzg1MjA4NSwgNzU3NjY1MSwgNzg4MTIwMCwgNDU4MTAwMn07Cgp2b2lkIHNlbGVjdGlvblNvcnQoaW50IGFycltdLCBpbnQgc2l6ZSkgewogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplIC0gMTsgKytpKSB7CiAgICAgICAgaW50IG1pbiA9IGk7CiAgICAgICAgZm9yIChpbnQgaiA9IGkgKyAxOyBqIDwgc2l6ZTsgKytqKSB7CiAgICAgICAgICAgIGlmIChhcnJbal0gPCBhcnJbbWluXSkgewogICAgICAgICAgICAgICAgbWluID0gajsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAobWluICE9IGkpIHsKICAgICAgICAgICAgc3dhcChhcnJbaV0sIGFyclttaW5dKTsKICAgICAgICB9CiAgICB9Cn0KCmJvb2wgYmluYXJ5U2VhcmNoKGludCBhcnJbXSwgaW50IHNpemUsIGludCB0YXJnZXQpIHsKICAgIGludCBsZWZ0ID0gMDsKICAgIGludCByaWdodCA9IHNpemUgLSAxOwogICAgd2hpbGUgKGxlZnQgPD0gcmlnaHQpIHsKICAgICAgICBpbnQgbWlkID0gbGVmdCArIChyaWdodCAtIGxlZnQpIC8gMjsKICAgICAgICBpZiAoYXJyW21pZF0gPT0gdGFyZ2V0KSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0gZWxzZSBpZiAoYXJyW21pZF0gPCB0YXJnZXQpIHsKICAgICAgICAgICAgbGVmdCA9IG1pZCArIDE7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmlnaHQgPSBtaWQgLSAxOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgaW5wdXROdW1iZXI7CiAgICBjb3V0IDw8ICJFbnRlciBhIGNoYXJnZSBhY2NvdW50IG51bWJlcjogIjsKICAgIGNpbiA+PiBpbnB1dE51bWJlcjsKCiAgICBzZWxlY3Rpb25Tb3J0KGFjY291bnROdW1zLCBTSVpFKTsKCiAgICBpZiAoYmluYXJ5U2VhcmNoKGFjY291bnROdW1zLCBTSVpFLCBpbnB1dE51bWJlcikpIHsKICAgICAgICBjb3V0IDw8ICJUaGUgYWNjb3VudCBudW1iZXIgaXMgdmFsaWQuIiA8PCBlbmRsOwogICAgfSBlbHNlIHsKICAgICAgICBjb3V0IDw8ICJUaGUgYWNjb3VudCBudW1iZXIgaXMgaW52YWxpZC4iIDw8IGVuZGw7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K