// grok
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int L;
cin >> L; // Độ dài tối đa của mảng a và b
int Q;
cin >> Q; // Số truy vấn
for (int q = 0; q < Q; q++) {
string type;
cin >> type;
if (type == "alojzije") {
int A;
cin >> A;
vector<int> a;
// Mã hóa A thành các bit
for (int i = 0; i <= 18; i++) {
if (A & (1 << i)) { // Kiểm tra bit thứ i
a.push_back(i);
}
}
// Xuất mảng a
cout << a.size();
for (int num : a) {
cout << " " << num;
}
cout << endl;
}
else if (type == "benjamin") {
int B;
cin >> B;
vector<int> b;
// Mã hóa B thành các bit, cộng 100 để phân biệt
for (int i = 0; i <= 18; i++) {
if (B & (1 << i)) {
b.push_back(100 + i);
}
}
// Xuất mảng b
cout << b.size();
for (int num : b) {
cout << " " << num;
}
cout << endl;
}
else if (type == "cecilija") {
int lc;
cin >> lc; // Độ dài mảng c
vector<int> c(lc);
for (int i = 0; i < lc; i++) {
cin >> c[i];
}
int A = 0, B = 0;
// Giải mã từ mảng c
for (int num : c) {
if (0 <= num && num <= 18) {
A |= (1 << num); // Set bit tương ứng của A
}
else if (100 <= num && num <= 118) {
int i = num - 100;
B |= (1 << i); // Set bit tương ứng của B
}
}
// So sánh và xuất kết quả
if (A > B) {
cout << "A" << endl;
}
else {
cout << "B" << endl;
}
}
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |