Submission #921677

# Submission time Handle Problem Language Result Execution time Memory
921677 2024-02-04T08:58:05 Z Ianis Football (info1cup20_football) C++17
100 / 100
39 ms 2384 KB
#pragma GCC optimize("Ofast,unroll-loops")
#include <bits/stdc++.h>

#ifdef LOCAL
#define cerr if (false) cerr 
#define endl '\n'
#endif

#define fi first
#define se second

#define sz(a) ((int)(a).size())
#define all(a) (a).begin(), (a).end()

#define lsb(x) (x & (-x))

#define bit(mask, i) (((mask) >> (i)) & 1)
#define popcount(x) __builtin_popcount(x)

#define YES cout << "YES" << endl
#define NO cout << "NO" << endl

using namespace std;

template <typename T>
bool ckmax(T &a, T b) { return a < b ? a = b, true : false; }
template <typename T>
bool ckmin(T &a, T b) { return a > b ? a = b, true : false; }

using ll = long long;
using pii = pair<int, int>;

const int NMAX = 1e5+5;

int n, k;
int a[NMAX];

void read() {
   cin >> n >> k;
   for (int i = 1; i <= n; i++)
      cin >> a[i];
}

bool solve() {
   ll sum = 0;
   for (int i = 1; i <= n; i++)
      sum += a[i];

   if (k == 1 || sum % 2 == 1)
      return sum % 2;

   for (int j = 2; j <= k; j <<= 1) {
      int x = 0;
      for (int i = 1; i <= n; i++)
         x ^= (a[i] / j) % 2;
      if (x) return 1;
   }
   
   return 0;
}

signed main() {
#ifdef LOCAL
   freopen("input.txt", "r", stdin);
#endif
   ios_base::sync_with_stdio(false);
   cin.tie(0);
   cout.tie(0);

   int t = 1;
   cin >> t;

   while (t--) {
      read();
      cout << solve();
   }

   return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 8 ms 1368 KB Output is correct
2 Correct 8 ms 1368 KB Output is correct
3 Correct 9 ms 1372 KB Output is correct
4 Correct 9 ms 1344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 708 KB Output is correct
2 Correct 7 ms 472 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 16 ms 1116 KB Output is correct
2 Correct 16 ms 1116 KB Output is correct
3 Correct 19 ms 1116 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 29 ms 2136 KB Output is correct
2 Correct 39 ms 2140 KB Output is correct
3 Correct 29 ms 2384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 10 ms 1420 KB Output is correct
2 Correct 11 ms 1508 KB Output is correct
3 Correct 17 ms 1500 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 18 ms 1372 KB Output is correct
2 Correct 15 ms 1372 KB Output is correct
3 Correct 19 ms 1368 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 17 ms 1372 KB Output is correct
2 Correct 22 ms 1404 KB Output is correct