QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#155870#7115. Can You Guess My Sequence?hos_lyricAC ✓1ms3736kbC++141.9kb2023-09-02 11:32:032023-09-02 11:32:04

Judging History

你现在查看的是最新测评结果

  • [2023-09-02 11:32:04]
  • 评测
  • 测评结果:AC
  • 用时:1ms
  • 内存:3736kb
  • [2023-09-02 11:32:03]
  • 提交

answer

#include <cassert>
#include <cmath>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <limits>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>

using namespace std;

using Int = long long;

template <class T1, class T2> ostream &operator<<(ostream &os, const pair<T1, T2> &a) { return os << "(" << a.first << ", " << a.second << ")"; };
template <class T> ostream &operator<<(ostream &os, const vector<T> &as) { const int sz = as.size(); os << "["; for (int i = 0; i < sz; ++i) { if (i >= 256) { os << ", ..."; break; } if (i > 0) { os << ", "; } os << as[i]; } return os << "]"; }
template <class T> void pv(T a, T b) { for (T i = a; i != b; ++i) cerr << *i << " "; cerr << endl; }
template <class T> bool chmin(T &t, const T &f) { if (t > f) { t = f; return true; } return false; }
template <class T> bool chmax(T &t, const T &f) { if (t < f) { t = f; return true; } return false; }



int main() {
  char typ[110];
  scanf("%s", typ);
  if (!strcmp(typ, "Alice")) {
    int N;
    scanf("%d", &N);
    vector<int> A(N);
    for (int i = 0; i < N; ++i) {
      scanf("%d", &A[i]);
    }
    
    int X = 0;
    for (int i = 0; i < N; ++i) {
      X |= 1 << A[i];
    }
    printf("%d\n", X);
  } else if (!strcmp(typ, "Bob")) {
    int X;
    scanf("%d", &X);
    
    vector<int> A;
    for (int a = 0; a < 20; ++a) if (X >> a & 1) {
      A.push_back(a);
    }
    const int N = A.size();
    printf("%d\n", N);
    for (int i = 0; i < N; ++i) {
      if (i) printf(" ");
      printf("%d", A[i]);
    }
    puts("");
  } else {
    assert(false);
  }
  return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 3736kb

First Run Input

Alice
6
2 3 5 8 10 15

First Run Output

34092

Second Run Input

Bob
34092

Second Run Output

6
2 3 5 8 10 15

result:

ok correct

Test #2:

score: 100
Accepted
time: 1ms
memory: 3664kb

First Run Input

Alice
20
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

First Run Output

1048575

Second Run Input

Bob
1048575

Second Run Output

20
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

result:

ok correct

Test #3:

score: 100
Accepted
time: 1ms
memory: 3632kb

First Run Input

Alice
1
0

First Run Output

1

Second Run Input

Bob
1

Second Run Output

1
0

result:

ok correct

Test #4:

score: 100
Accepted
time: 1ms
memory: 3664kb

First Run Input

Alice
2
0 15

First Run Output

32769

Second Run Input

Bob
32769

Second Run Output

2
0 15

result:

ok correct

Test #5:

score: 100
Accepted
time: 0ms
memory: 3656kb

First Run Input

Alice
10
1 3 5 7 9 11 12 14 15 16

First Run Output

121514

Second Run Input

Bob
121514

Second Run Output

10
1 3 5 7 9 11 12 14 15 16

result:

ok correct

Test #6:

score: 100
Accepted
time: 1ms
memory: 3692kb

First Run Input

Alice
3
16 17 18

First Run Output

458752

Second Run Input

Bob
458752

Second Run Output

3
16 17 18

result:

ok correct

Test #7:

score: 100
Accepted
time: 1ms
memory: 3656kb

First Run Input

Alice
18
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 19

First Run Output

655359

Second Run Input

Bob
655359

Second Run Output

18
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 19

result:

ok correct