1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <vector>
#include <numeric>

using namespace std;

string winner(const vector<int>& a, const vector<int>& b) {
    vector<int> aCount(11, 0), bCount(11, 0);

    // Sumowanie punktów
    int aSum = accumulate(a.begin(), a.end(), 0);
    int bSum = accumulate(b.begin(), b.end(), 0);

    // Porównanie sumy punktów
    if (aSum > bSum) return "Algosia";
    if (bSum > aSum) return "Bajtek";

    // Zliczanie punktów na poszczególnych poziomach
    for (int i = 0; i < 18; ++i) {
        aCount[a[i]]++;
        bCount[b[i]]++;
    }

    // Porównanie liczby punktów na poszczególnych poziomach
    for (int i = 10; i >= 0; --i) {
        if (aCount[i] > bCount[i]) return "Algosia";
        if (bCount[i] > aCount[i]) return "Bajtek";
    }

    return "remis";
}

int main() {
    vector<int> a(18), b(18);

    for (int i = 0; i < 18; ++i) cin >> a[i];
    for (int i = 0; i < 18; ++i) cin >> b[i];

    cout << winner(a, b) << endl;

    return 0;
}