| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 1110587 | _callmelucian | Football (info1cup20_football) | C++14 | 0 ms | 0 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//#include <bits/stdc++.h>
//using namespace std;
//
//typedef long long ll;
//typedef long double ld;
//typedef pair<ll,ll> pl;
//typedef pair<int,int> pii;
//typedef tuple<int,int,int> tt;
//
//#define all(a) a.begin(), a.end()
//#define filter(a) a.erase(unique(all(a)), a.end())
//
//int mex (vector<int> &v) {
//    vector<bool> check(v.size());
//    for (int u : v)
//        if (u < v.size()) check[u] = 1;
//    for (int i = 0; i < v.size(); i++)
//        if (!check[i]) return i;
//    return v.size();
//}
//
//int grundy[110][110];
//
//int main()
//{
//    ios::sync_with_stdio(0);
//    cin.tie(0);
//
//    int n, k; cin >> n >> k;
//
//    for (int i = 1; i <= n; i++) {
//        for (int j = 1; j <= k; j++) {
//            vector<int> vec;
//            for (int select = 1; select <= min(i, j); select++)
//                vec.push_back(grundy[i - select][select]);
//            grundy[i][j] = mex(vec);
//        }
//    }
//
//    for (int i = 0; i <= n; i++) {
////        cout << "row " << i << ": ";
////        if (i < 10) cout << " ";
////        for (int j = 0; j <= k; j++) cout << grundy[i][j] << " ";
////        cout << " (" << bitset<5>(i) << ")\n";
//
//        for (int j = 0; j <= k; j++) {
//            int tmp = ((1 << j) & i) - 1;
//            cout << tmp << " ";
//        }
//        cout << "\n";
//    }
//
//    return 0;
//}
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<ll,ll> pl;
typedef pair<int,int> pii;
typedef tuple<int,int,int> tt;
#define all(a) a.begin(), a.end()
#define filter(a) a.erase(unique(all(a)), a.end())
const int mn = 1e5 + 5;
int n, k, a[mn];
bool solve() {
    cin >> n >> k;
    int cntOdd = 0, loLSB = INT_MAX;
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
        if (a[i] & 1) cntOdd++;
        loLSB = min(loLSB, (a[i] & -a[i]));
    }
    if (k < loLSB) return 0;
    return k > 1 || (cnt & 1);
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int TC; cin >> TC;
    while (TC--) cout << solve();
    return 0;
}
