Codeforces · 2183A

Binary Array Game

This C++ solution uses simulation for Codeforces 2183A Binary Array Game. Read the reasoning, inspect the code, or try your own test case below.

2183AArrays & prefix sumsSimulationC++39 lines
Solution029of 248
Open official problem ↗ Download C++ file ↓ Search the library → Open full Code Lab ↗ Report an issue ↗

Approach

Simulation

Binary Array Game and winner rule match the code's binary-array case analysis.

Arrays & prefix sums

Problem and code

Useful links.

Written by benbenyaojifen. Try the problem first, then compare your approach with the code.

Open official problem ↗View exact source file ↗
Implementation

A_Binary_Array_Game.cpp

C++

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const long long INF = 1e17; //❄️
    void solve() {
        int n; cin >> n;
        vector<int> v(n);
        for (int i = 0; i < n; i++) cin >> v[i];
        int left = n - 1, right = 0;
        for (int i = 0; i < n; i++) {
            if (v[i] == 0) {
                left = min(left, i);
                right = max(right, i);
            }
        }
        if (right == 0) {
            cout << "Alice" << '\n';
            return;
        }
        bool good = false;
     
        for (int i = 0; i < left; i++)
            if (v[i] == 1) good = true;
     
        for (int i = right + 1; i < n; i++)
            if (v[i] == 1) good = true;
     
        if (good) cout << "Alice" << '\n';
        else cout << "Bob" << '\n';
    }
     
    int main() {
        ios::sync_with_stdio(0); cin.tie(0); 
        int t; cin >> t;
        while (t--) {
            solve();
        }
        return 0;
    }
        

Did this explanation save you time? I'm a Grade 11 student building this free library to make difficult algorithms easier to understand.

Buy me a coffee ↗Keep studying →

Test this problem

Run your code here.

Paste your code, run a test case, compare the output, or trace selected values.

Full trace, comparison & stress testing ↗
StatusReady
Output
No run yet.
Diagnostics
No diagnostics yet.

Each run is isolated and has strict limits. Passing one test does not guarantee the judge will accept the solution.