fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. void solve() {
  8. int N;
  9. cin >> N;
  10. vector<int> A(N);
  11. for (int i = 0; i < N; ++i) {
  12. cin >> A[i];
  13. }
  14.  
  15. sort(A.begin(), A.end());
  16.  
  17. vector<int> piles;
  18. int current_val = A[0];
  19. int count = 1;
  20.  
  21. if (current_val > 0) {
  22. piles.push_back(current_val);
  23. }
  24.  
  25. for (int i = 1; i < N; ++i) {
  26. if (A[i] == current_val) {
  27. count++;
  28. } else {
  29. piles.push_back(count);
  30. piles.push_back(A[i] - current_val);
  31. current_val = A[i];
  32. count = 1;
  33. }
  34. }
  35. piles.push_back(count);
  36.  
  37. for (size_t i = 0; i < piles.size(); ++i) {
  38. if (piles[i] > 1) {
  39. if (i % 2 == 0) cout << "Alice\n";
  40. else cout << "Bob\n";
  41. return;
  42. }
  43. }
  44.  
  45. if (piles.size() % 2 != 0) cout << "Alice\n";
  46. else cout << "Bob\n";
  47. }
  48.  
  49. int main() {
  50. ios_base::sync_with_stdio(false);
  51. cin.tie(NULL);
  52. int T;
  53. if (cin >> T) {
  54. while (T--) solve();
  55. }
  56. return 0;
  57. }
Success #stdin #stdout 0s 5316KB
stdin
5
1
2
3
1 1 1
4
1 2 3 4
7
3 1 4 1 5 9 2
3
218 503 2026
stdout
Alice
Bob
Bob
Bob
Alice