QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#317003#7115. Can You Guess My Sequence?bachbeo2007AC ✓0ms3872kbC++232.2kb2024-01-28 11:13:562024-01-28 11:13:56

Judging History

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

  • [2024-01-28 11:13:56]
  • 评测
  • 测评结果:AC
  • 用时:0ms
  • 内存:3872kb
  • [2024-01-28 11:13:56]
  • 提交

answer

// Judges with GCC >= 12 only needs Ofast
// #pragma GCC optimize("O3,no-stack-protector,fast-math,unroll-loops,tree-vectorize")
// MLE optimization
// #pragma GCC optimize("conserve-stack")
// Old judges
// #pragma GCC target("sse4.2,popcnt,lzcnt,abm,mmx,fma,bmi,bmi2")
// New judges. Test with assert(__builtin_cpu_supports("avx2"));
// #pragma GCC target("avx2,popcnt,lzcnt,abm,bmi,bmi2,fma,tune=native")
// Atcoder
// #pragma GCC target("avx2,popcnt,lzcnt,abm,bmi,bmi2,fma")
/*
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
typedef tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update> ordered_set;
- insert(x),erase(x)
- find_by_order(k): return iterator to the k-th smallest element
- order_of_key(x): the number of elements that are strictly smaller
*/
#include<bits/stdc++.h>
using namespace std;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
uniform_real_distribution<> pp(0.0,1.0);
#define int long long
#define ld long double
#define pii pair<int,int>
#define piii pair<int,pii>
#define mpp make_pair
#define fi first
#define se second
const int inf=1e18;
const int mod=998244353;
const int maxn=200005;
const int bl=650;
const int maxs=655;
const int maxm=200005;
const int maxq=1000005;
const int maxl=25;
const int maxa=1000000;
const int root=3;
int power(int a,int n){
    int res=1;
    while(n){
        if(n&1) res=res*a%mod;
        a=a*a%mod;n>>=1;
    }
    return res;
}
const int iroot=power(3,mod-2);
const int base=131;

void solve(){
    string s;cin >> s;
    if(s=="Alice"){
        int n;cin >> n;
        int mask=0;
        for(int i=0;i<n;i++){int x;cin >> x;mask+=(1<<x);}
        cout << mask << '\n';
    }
    else{
        int x;cin >> x;
        vector<int> res;
        for(int i=0;i<20;i++) if((x>>i)&1) res.push_back(i);
        cout << (int)res.size() << '\n';
        for(int a:res) cout << a << ' ';
        cout << '\n';
    }
}

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);cout.tie(NULL);
    int test=1;//cin >> test;
    while(test--) solve();
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 0ms
memory: 3816kb

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: 0ms
memory: 3872kb

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: 0ms
memory: 3640kb

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: 3712kb

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: 0ms
memory: 3844kb

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: 0ms
memory: 3800kb

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