// #pragma GCC optimize("Ofast,unroll-loops")
#include <bits/stdc++.h>
// #pragma GCC target("avx2")
// #define int long long
using namespace std;
void print(int a) {
string s;
while(a > 0) {
s += '0' + a % 10;
a /= 10;
}
reverse(s.begin(), s.end());
for(char i : s) {
putchar(i);
}
}
int readint() {
int a = 0;
char c = getchar();
while(isspace(c)) c = getchar();
while(!isspace(c)) {
a *= 10;
a += c - '0';
c = getchar();
}
return a;
}
signed main(){
int l = readint(), q = readint();
for(int i = 0; i < q; i++) {
string s;
char c = getchar();
while(isspace(c)) c =getchar();
while(!isspace(c)) {
s.push_back(c);
c = getchar();
}
if(s[0] == 'a') {
int num = readint();
vector<int> ans;
for(int j = 1; j <= 20; j++) {
if(num % 2) {
for(int k = 0; k < j; k++) ans.push_back(j);
}
num /= 2;
}
print(ans.size());
putchar(' ');
for(int j : ans) {
print(j);
putchar(' ');
}
putchar('\n');
}else if(s[0] == 'b'){
int num= readint();
vector<int> ans;
for(int j = 21; j <= 40; j++) {
if(num % 2) {
for(int k = 0; k < j; k++) ans.push_back(j);
}
num /= 2;
}
print(ans.size());
putchar(' ');
for(int j : ans) {
print(j);
putchar(' ');
}
putchar('\n');
}else if(s[0] == 'c') {
int n = readint();
int a = 0, b = 0;
set<int> se;
for(int j = 0; j < n; j++) {
int v = readint();
se.insert(v);
}
for(int j = 1; j <= 20; j++) {
if(se.contains(j)) {
a += pow(2, j - 1);
}
}
for(int j = 21; j <= 41; j++) {
if(se.contains(j)) {
b += pow(2, j - 21);
}
}
if(a > b) {
putchar('A');
putchar('\n');
}else {
putchar('B');
putchar('\n');
}
}
}
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... |