Need help : code dont run for some cases pls tell me those cases

My code for the given program is giving error on some cases could someone tell me those cases .
question code :APPENDOR
question name :append for or
my program:

#include <bits/stdc++.h>
using namespace std;
int result(int arr[], int orneeded, int curror)
{
int s = 0, e = orneeded, mid, ans = -1;
while (s <= e)
{
mid = (s + e) / 2;
if ((curror | mid) >= orneeded)
{
ans = mid;
e = mid - 1;
}
else
{
s = mid + 1;
}

}
return ((curror|ans)==orneeded)?ans:-1;
}

void solve()
{
int totalnum, orneeded;
cin >> totalnum >> orneeded;

int arr[totalnum];
for (int i = 0; i < totalnum; i++)
{
cin >> arr[i];
}
int curror=arr[0];
for (int i = 1; i < totalnum; i++)
{
curror = (curror | arr[i]);
}

cout << result(arr, orneeded, curror) << endl;
}

int main()
{
int t;
cin >> t;
while (t–)
{
solve();
}

return 0;
}